我是Windows Forms Applocation的新手。我正在使用Visual Studio 2010与.NET framework 4.0。 在我的项目中,我使用Panel来放置控件,如TextBox,DatePicker,CheckBox,ComboBox和Button。我在这个面板可见时只想禁用特定控件。我怎么做到这一点?我在谷歌搜索了很多,但它没有给我一些相关的结果。
答案 0 :(得分:3)
你可以这样做:
foreach (Control ctl in panel.Controls)
{
if (ctl.Name == "textBox1")
{
ctl.Enabled = false;
}
}
您也可以在foreach循环中对控件类型应用 switch case ,以了解该控件是TextBox,DatePicker等。
答案 1 :(得分:1)
bool canEdit = false
private void panel1_VisibleChanged(object sender, EventArgs e)
{
button1.Enabled = false
checkbox1.Enabled = false
//...
}
你可以定义一个bool变量来检查要做什么。如下所示:
bool canEdit = false;
private void panel1_VisibleChanged(object sender, EventArgs e)
{
if (!canEdit)
{
button1.Enabled = false;
//and other components that u want
}
else
{
button1.Enabled = true;
//and other components that u want
}
}
答案 2 :(得分:0)
让我们以按钮为例进行控制。
void button1_Click(object s ,Eventargs e)
{
button1.Enabled= false;
panel.visible= true;
}