禁用来自其他窗体的控件
本文关键字:窗体 控件 其他 | 更新日期: 2023-09-27 18:25:07
我有一个打开Form2的Form 1。如何打开Form2中的所有文本框?
表格1:
Form2 f2 = new Form2();
f2.ReadOnly();
f2.ShowDialog();
表格2:
public void ReadOnyTextBoxes(Control parent)
{
foreach (Control c in parent.Controls)
{
if (c.GetType() == typeof(TextBox))
{
((TextBox)(c)).ReadOnly = true;
}
}
}
public void ReadOnly()
{
ReadOnyTextBoxes(groupBox1);
}
groupbox1中可能有其他groupboxes或一些容器。您需要递归。如何禁用窗体上除按钮外的所有控件?
使用您的想法,为了使其适用于所有TextBox
,您可以使用递归函数来实现这一点,比如:
public void MakeReadOnlyTextBoxes(Control parent)
{
foreach (Control c in parent.Controls)
{
if (c.GetType() == typeof(TextBox))
{
((TextBox)(c)).ReadOnly = true;
}
else if(c.Controls.Count > 0)
{
MakeReadOnlyTextBoxes(c);
}
}
}
public void ReadOnly()
{
ReadOnyTextBoxes(this);
}
已编辑:您应该在递归调用时使用c
变量