1

假设您有一个组合框和一个文本框。

组合框包含项目列表,我想将文本框“文本”属性绑定到当前组合框选择。

在 WPF 中可以做到这一点,但我在 WinForms 中没有找到方法。

有没有办法或者 WinForms 太有限了?

笔记:

  • 我知道我可以改用 WPF,但该项目已经在 WinForms 中并且重写它是不可能的。
  • 我问的是组合框和文本框,但这可能是任何其他组合。
  • 我正在寻找一种从设计时开始就可以做到的方法。
4

3 回答 3

2

您可以在组合框上添加一个 onSelectedIndexChange 事件处理程序并在那里修改文本框表单。

于 2012-05-11T20:13:22.543 回答
2

是的,您可以将文本框绑定到Text在组合框中选择的项目 ( ):

   public partial class Form1 : Form {
      Binding binding;

      public Form1() {
         InitializeComponent();

         binding = new Binding("Text", comboBox1, "Text");
         textBox1.DataBindings.Add(binding);
      }
   }
于 2012-05-11T20:33:08.763 回答
0

在这里你去:这些行创建一个委托,其开始调用是否已更改项目下的选定索引。然后它将文本框,文本属性设置为组合框中的选定项目文本:)

            TextBox txtbox = new TextBox();
            ComboBox cob = new ComboBox();
            cob.SelectedIndexChanged += new EventHandler(delegate(object sender, EventArgs e) { if (cob.SelectedIndex > -1) txtbox.Text = cob.Items[cob.SelectedIndex].ToString(); });
于 2012-05-11T20:15:11.507 回答