在Winforms中使用控件属性进行数据绑定:绑定是否已启用到Combobox的状态?

时间:2010-06-16 23:57:46

标签: c# winforms data-binding windows-forms-designer

我几乎没有使用WinForms的经验,但我很确定这是一项简单的任务。我只需要根据ComboBox的SelectedIndex启用和禁用文本框的Enabled属性。

可以使用DataBindings在设计器中完成,还是我需要编写某种处理程序?

1 个答案:

答案 0 :(得分:0)

你可以绑定它,但你必须写一个值 - >布尔转换器做逻辑。我建议,因为winforms不支持ViewModel范例,你只需要使用事件处理程序,因为你可能不得不在代码中定义你的数据绑定。

public void MyComboBox_SelectedIndexChanged(object sender, EventArgs args)
{
   ComboBox box = sender as ComboBox;
   if (box != null) return;

   switch(box.Text)
   {
      case "Value1":
      case "Value2":
      case "Value3":
         myTextBox.Enabled = false;
         break;
      default:
         myTextBox.Enabled = true;
   }
}