本文介绍了使一个窗体上的所有控件一次为只读,而没有一个LinkBut​​ton的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一次将表单上的所有控件设为只读:

I make all controls on a form read-only at once:

    private static void DisableControl(Control control)
    {
        PropertyInfo enProp = control.GetType().GetProperty("Enabled")
        if (enProp != null)
        {
            enProp.SetValue(control, false, null);
        }

        foreach (Control ctrl in control.Controls)
        {
            if (ctrl.ID != "HyperLinkExcelOrder")
                DisableControl(ctrl);

        }
    }

我不想禁用HyperLinkExcelOrder,但是此功能禁用了它.当我使用HyperLinkExcelOrder.Enabled = true时;仍然被禁用.

I don't want disable HyperLinkExcelOrder, but this function disabled it.When I use HyperLinkExcelOrder.Enabled=true; It still is disabled.

推荐答案

您只需在from上设置enabled = false.启用子级的属性将自动采用其父级的值.然后将Hyperlink控件设置为enabled = true.不需要DisableControl代码.

You can just set enabled = false on the from. Child Enabled properties will take the value of their parent automaticly. And then set the Hyperlink control on enabled = true. There is not need for DisableControl code.

这篇关于使一个窗体上的所有控件一次为只读,而没有一个LinkBut​​ton的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-30 00:16