是否可以在它们之间对组合框和文本框进行数据绑定
本文关键字:文本 数据绑定 组合 之间 是否 | 更新日期: 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(); });