禁用 window 表单上的几个控件
Disable few controls on window form
我正在使用 windows 表单开发 C# 项目。我主要使用的几个控件是:分组框、按钮、标签、文本框等。
我正在使用一个函数,当我将布尔值传递给该函数时,该函数曾经禁用所有控件。但是这个功能并不是每次都有用,因为在大多数情况下我不需要这个,而不是在大多数情况下我只能禁用几个控件。
有没有办法禁用表单上除所有控件之外的某些控件?
在目前的情况下,我只想禁用组框内的所有控件。
我google求解答。有不同的解决方案,有人可以使用某些循环禁用所有控件,例如 foreach 循环。
您可以禁用任何容器,其中的所有控件将自动被禁用。我不确定组合框,但面板控件可以做到这一点。
如果禁用就够了,您可以禁用组框,子项也将被禁用。
或
你可以通过:
private void button1_Click(object sender, EventArgs e)
{
SetReadonlyControls(groupBox1.Controls);
}
private void SetReadonlyControls(Control.ControlCollection controlCollection)
{
if (controlCollection == null)
{
return;
}
foreach (TextBoxBase c in controlCollection.OfType<TextBoxBase>())
{
c.ReadOnly = true;
}
}
The Code is from here
我正在使用 windows 表单开发 C# 项目。我主要使用的几个控件是:分组框、按钮、标签、文本框等。
我正在使用一个函数,当我将布尔值传递给该函数时,该函数曾经禁用所有控件。但是这个功能并不是每次都有用,因为在大多数情况下我不需要这个,而不是在大多数情况下我只能禁用几个控件。
有没有办法禁用表单上除所有控件之外的某些控件? 在目前的情况下,我只想禁用组框内的所有控件。
我google求解答。有不同的解决方案,有人可以使用某些循环禁用所有控件,例如 foreach 循环。
您可以禁用任何容器,其中的所有控件将自动被禁用。我不确定组合框,但面板控件可以做到这一点。
如果禁用就够了,您可以禁用组框,子项也将被禁用。
或 你可以通过:
private void button1_Click(object sender, EventArgs e)
{
SetReadonlyControls(groupBox1.Controls);
}
private void SetReadonlyControls(Control.ControlCollection controlCollection)
{
if (controlCollection == null)
{
return;
}
foreach (TextBoxBase c in controlCollection.OfType<TextBoxBase>())
{
c.ReadOnly = true;
}
}
The Code is from here