我正在使用Windows窗体进行C#项目。我主要使用的控件很少:组合框,按钮,标签,文本框等。
我正在使用一个用于禁用所有控件的函数,因为我将布尔值传递给此函数。但是这个函数每次都没有用,因为在大多数情况下我不需要这个,而不是在大多数情况下我只禁用几个控件。
有没有办法在窗体上禁用一些控件,除了所有控件? 在当前情况下,我想仅禁用组框内的所有控件。
我谷歌搜索解决方案。有不同的解决方案,有人可以使用一些循环禁用所有控件,例如foreach循环。
答案 0 :(得分:1)
您可以禁用任何容器,其中的所有控件都将自动禁用。我不确定组框,但Panel控件就是这样。
答案 1 :(得分:0)
如果禁用已足够,您可以禁用组框,也可以禁用子项。
OR 你可以通过以下方式做到:
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;
}
}