如何使用双击事件单击列表框中的文本以使该文本出现在空文本框中
How to use a double click event to click text in a listbox to make that text appear in a empty textbox
您好,我创建了一个预订工具,我想为每个预订分配一个客户。我创建了一个列表框,它是用数据库中客户的名字生成的。我希望能够双击其中一个名称,该名称将以相同的形式出现在文本框中。
感谢所有帮助。谢谢
这是生成我的客户的代码
public void getListOfAllCustomers()
{
SqlConnection conn = new SqlConnection(connectionString);
try
{
conn.Open();
str = "Select CustomerId, CustomerName from Customer";
SqlCommand cmd = new SqlCommand(str, conn);
SqlDataReader myReader = cmd.ExecuteReader();
DataTable CustomerList = new DataTable();
CustomerList.Columns.Add("CustomerId", typeof(string));
CustomerList.Columns.Add("CustomerName", typeof(string));
CustomerList.Load(myReader);
LBcustomersavailable.ValueMember = "CustomerId";
LBcustomersavailable.DisplayMember = "CustomerName";
LBcustomersavailable.DataSource = CustomerList;
LBcustomersavailable.BindingContext = this.BindingContext;
}
catch (Exception ex)
{
string filepath = AppDomain.CurrentDomain.BaseDirectory + "ErrorLog.txt";
using (StreamWriter writer = new StreamWriter(filepath, true))
{
//Log error that occurred into a text file
writer.WriteLine("Message :" + ex.Message + "<br/>" + Environment.NewLine + "StackTrace :" + ex.StackTrace + "" + Environment.NewLine + "Date :" + DateTime.Now.ToString());
}
MessageBox.Show("Error Message :" + ex.Message + Environment.NewLine + "An error has occurred. Try restarting your application and if this error keeps occuring please call our helpdesk");
}
finally
{
conn.Close();
}
}
Here is an image of the design
您需要将双击事件绑定到您的列表框。
为此,请在设计模式下查看表单,单击您的列表框并按 F4 以查看属性 window。
然后单击 "lightning Flash" 符号调出事件列表。选择 DoubleClick,在框中单击并按回车键。这应该为您添加事件绑定。
下面是一个简单的例子。
private void LBcustomersavailable_DoubleClick(object sender, EventArgs e)
{
if (((ListBox)sender).SelectedItem != null)
txtName.Text = ((ListBox)sender).SelectedItem.ToString();
}
我添加了一个名为 txtName 的文本框来显示在列表框中单击的条目。
希望对您有所帮助
您好,我创建了一个预订工具,我想为每个预订分配一个客户。我创建了一个列表框,它是用数据库中客户的名字生成的。我希望能够双击其中一个名称,该名称将以相同的形式出现在文本框中。 感谢所有帮助。谢谢
这是生成我的客户的代码
public void getListOfAllCustomers()
{
SqlConnection conn = new SqlConnection(connectionString);
try
{
conn.Open();
str = "Select CustomerId, CustomerName from Customer";
SqlCommand cmd = new SqlCommand(str, conn);
SqlDataReader myReader = cmd.ExecuteReader();
DataTable CustomerList = new DataTable();
CustomerList.Columns.Add("CustomerId", typeof(string));
CustomerList.Columns.Add("CustomerName", typeof(string));
CustomerList.Load(myReader);
LBcustomersavailable.ValueMember = "CustomerId";
LBcustomersavailable.DisplayMember = "CustomerName";
LBcustomersavailable.DataSource = CustomerList;
LBcustomersavailable.BindingContext = this.BindingContext;
}
catch (Exception ex)
{
string filepath = AppDomain.CurrentDomain.BaseDirectory + "ErrorLog.txt";
using (StreamWriter writer = new StreamWriter(filepath, true))
{
//Log error that occurred into a text file
writer.WriteLine("Message :" + ex.Message + "<br/>" + Environment.NewLine + "StackTrace :" + ex.StackTrace + "" + Environment.NewLine + "Date :" + DateTime.Now.ToString());
}
MessageBox.Show("Error Message :" + ex.Message + Environment.NewLine + "An error has occurred. Try restarting your application and if this error keeps occuring please call our helpdesk");
}
finally
{
conn.Close();
}
}
Here is an image of the design
您需要将双击事件绑定到您的列表框。
为此,请在设计模式下查看表单,单击您的列表框并按 F4 以查看属性 window。 然后单击 "lightning Flash" 符号调出事件列表。选择 DoubleClick,在框中单击并按回车键。这应该为您添加事件绑定。
下面是一个简单的例子。
private void LBcustomersavailable_DoubleClick(object sender, EventArgs e)
{
if (((ListBox)sender).SelectedItem != null)
txtName.Text = ((ListBox)sender).SelectedItem.ToString();
}
我添加了一个名为 txtName 的文本框来显示在列表框中单击的条目。
希望对您有所帮助