是否可以在它们之间对组合框和文本框进行数据绑定

本文关键字:文本 数据绑定 组合 之间 是否 | 更新日期: 2023-09-27 18:34:05

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

组合框包含一个项目列表,我想将文本框"text"属性绑定到当前的组合框选择。

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

有没有办法还是WinForms太有限了?

笔记:

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

是否可以在它们之间对组合框和文本框进行数据绑定

是的,

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

   public partial class Form1 : Form {
      Binding binding;
      public Form1() {
         InitializeComponent();
         binding = new Binding("Text", comboBox1, "Text");
         textBox1.DataBindings.Add(binding);
      }
   }

您可以在组合框上添加一个 onSelectedIndexChange 事件处理程序,并在其中修改文本框窗体。

来了:这些行创建一个委托,其开头称为所选索引是否已在项目下更改。之后,它将文本框,文本属性设置为组合框中的选定项目文本:)

            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(); });