假设您有一个组合框和一个文本框。
组合框包含项目列表,我想将文本框“文本”属性绑定到当前组合框选择。
在 WPF 中可以做到这一点,但我在 WinForms 中没有找到方法。
有没有办法或者 WinForms 太有限了?
笔记:
- 我知道我可以改用 WPF,但该项目已经在 WinForms 中并且重写它是不可能的。
- 我问的是组合框和文本框,但这可能是任何其他组合。
- 我正在寻找一种从设计时开始就可以做到的方法。
假设您有一个组合框和一个文本框。
组合框包含项目列表,我想将文本框“文本”属性绑定到当前组合框选择。
在 WPF 中可以做到这一点,但我在 WinForms 中没有找到方法。
有没有办法或者 WinForms 太有限了?
笔记:
您可以在组合框上添加一个 onSelectedIndexChange 事件处理程序并在那里修改文本框表单。
是的,您可以将文本框绑定到Text
在组合框中选择的项目 ( ):
public partial class Form1 : Form {
Binding binding;
public Form1() {
InitializeComponent();
binding = new Binding("Text", comboBox1, "Text");
textBox1.DataBindings.Add(binding);
}
}
在这里你去:这些行创建一个委托,其开始调用是否已更改项目下的选定索引。然后它将文本框,文本属性设置为组合框中的选定项目文本:)
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(); });