我有一个绑定的组合框,其中包含客户名称列表。我尝试了在更改组合框中的名称时触发的key_down。我想要的是将触发的事件处理程序,因为该名称正在更改(如拼写),不一定是列表中的其他名称。我想我需要编写一段代码来测试拼写的变化。是否有一个事件处理程序可以完成这项工作?
我在Windows窗体和SQL Server 2008上使用C#在Visual Studio中工作
public Customer_Info_Form()
{
InitializeComponent();
button_Add_Customer.Visible = true;
button_Add_Location.Visible = true;
button_Save_Customer.Visible = false;
button_Cancel_Customer_Add.Visible = false;
}
private void Customer_Info_Form_Load(object sender, EventArgs e)
{
try
{
this.customerTableAdapter.Fill(this.customer_Info_DataSet.Customer);
this.customer_ShipTableAdapter.Fill(this.customer_Info_DataSet.Customer_Ship);
this.termsTableAdapter.Fill(this.terms_DataSet.Terms);
}
catch (Exception err)
{
MessageBox.Show(err.Message);
}
}
private void text_Changed(object sender, EventArgs e)
{
button_Add_Customer.Visible = false;
button_Add_Location.Visible = false;
button_Save_Customer.Visible = true;
button_Cancel_Customer_Add.Visible = true;
}
“text_Changed”事件在表单加载时触发。它不应该在文本实际更改之前触发。我选择“取消”,按钮被重置,一旦我选择了不同的客户名称,事件就会再次触发。我实际上没有改变任何文字。如何在实际更改文本之前保持“text_Changed”事件不被触发?
答案 0 :(得分:1)
您可以使用TextChanged事件
只要ComboBox的值发生变化,就会触发它。
答案 1 :(得分:0)
当我尝试TextChanged事件时,一旦表单加载就会触发,当我在绑定的组合框中选择一个不同的名字时,它也会触发,而不是当文本实际发生变化时。
为了捕获对组合框中任何所选项目的文本的更改,我使用了KeyDown事件来捕获对表单上的名称或任何控件的更改。