Как использовать событие двойного щелчка, чтобы щелкнуть текст в списке, чтобы этот текст отображался в пустом текстовом поле
Привет! Я создал объект бронирования и хочу назначить клиента для каждого заказа. Я создал список, который генерируется с именами клиентов в базе данных. Я хочу иметь возможность дважды щелкнуть по одному из имен, и это имя появится в текстовом поле в той же форме. Ценю всю помощь. Спасибо
Вот код, который генерирует мои клиенты
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();
}
}
1 ответ
Вам нужно привязать событие двойного щелчка к вашему списку.
Для этого просмотрите форму в режиме конструктора, нажмите на поле со списком и нажмите F4, чтобы открыть окно "Свойства". Затем нажмите символ "молнии", чтобы открыть список событий. Выберите DoubleClick, щелкните в поле и нажмите Enter. Это должно добавить привязку события для вас.
Ниже приведен простой пример.
private void LBcustomersavailable_DoubleClick(object sender, EventArgs e)
{
if (((ListBox)sender).SelectedItem != null)
txtName.Text = ((ListBox)sender).SelectedItem.ToString();
}
Я добавил текстовое поле с именем txtName, чтобы отобразить запись, щелкнувшую в списке.
надеюсь, это поможет