禁用面板上的特定控件

问题描述:

我是Windows窗体应用程序中的新功能。我正在使用Visual Studio 2010与.NET框架4.0。 在我的项目中,我使用Panel来放置诸如TextBox,DatePicker,CheckBox,ComboBox和Button等控件。在这里,我想仅当我使该面板可见时禁用特定控件。我将如何实现这一目标?我在谷歌搜索了很多,但它并没有给我一些相关的结果。禁用面板上的特定控件

+2

'yourControl.Enabled = FALSE'? –

你可以做这样的事情:

foreach (Control ctl in panel.Controls) 
{ 
    if (ctl.Name == "textBox1") 
    { 
      ctl.Enabled = false; 
    } 
} 

您可以在foreach循环中的控制型应用开关的情况下为好,要知道控制是否是文本框,DatePicker的等

让利拿一个按钮的例子作为你的特定控件。

void button1_Click(object s ,Eventargs e) 
{ 
    button1.Enabled= false; 
    panel.visible= true;  
} 

bool canEdit = false 

private void panel1_VisibleChanged(object sender, EventArgs e) 
     { 
      button1.Enabled = false 
      checkbox1.Enabled = false 
      //... 
     } 

,你可以定义一个布尔变量检查内容如下do.like:

 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 
      } 
     }