我一直试图制作一个包含3个组合框的程序,这取决于你选择的不同事情。 这是我所坚持的截图。
屏幕截图中唯一缺少的是以下内容,它位于私有void Form1_Load事件
中cBxColor1.Items.Add("黑色&#34);
cBxColor2.Items.Add("黑色&#34);
cBxTest.Items.Add("东西&#34);
在上面的屏幕截图中,我尝试了两种方法在文本框中编写内容。一旦文本发生变化,然后检查选择的项目。在这种情况下,东西,黑色和黑色。我计划稍后添加更多,但到目前为止,我试图让它与其中一个一起工作。
最初的计划是(在组合框中选择的文本是Something,Black和Black)然后在文本框中添加一些文本,如果这是真的。
我在尝试其他方法时遇到的错误的屏幕截图,我不确定这意味着什么。
我用谷歌搜索并寻找解决方案,但我真的找不到任何有助于解决问题的方法。如果1337 hax0rz在这里帮助我,我将不胜感激。
答案 0 :(得分:0)
TextChanged是一个事件。在这样的方法中使用它:
private void ComboBox_TextUpdate(Object sender, EventArgs e)
{
//Your code here
MessageBox.Show("You are in the ComboBox.TextUpdate event.");
}
在初始化时将带有+ =的事件添加到组合框:
ComboBox.TextUpdate += ComboBox_TextUpdate;
因此,在每个TextUpdate中,您的Methode ComboBox_TextUpdate都会被调用,您可以在那里进行编码。
答案 1 :(得分:0)
您应该使用ComboBox事件SelectedValueChanged,而不是使用if条件来查看文本是否已更改。
要创建该事件,请右键单击ComboBox并选择属性。选择"活动"并双击SelectedValueChanged事件旁边的文本框。
然后你想像你一样检查每个ComboBox的值。
private void comboBox1_SelectedValueChanged(object sender, EventArgs e)
{
if (cBxColor1.SelectedText.Equals("Black") || cBxColor2.SelectedText.Equals("Black") || cBxTest.SelectedText.Equals("Something"))
{
tbxTest.Text = "TEST";
}
}
此外,虽然声明几乎是死亡威胁,因为一旦它进入该状态,它就不会离开。 由于执行时间的原因,您无法更改ComboBox值。