Как использовать событие двойного щелчка, чтобы щелкнуть текст в списке, чтобы этот текст отображался в пустом текстовом поле

Привет! Я создал объект бронирования и хочу назначить клиента для каждого заказа. Я создал список, который генерируется с именами клиентов в базе данных. Я хочу иметь возможность дважды щелкнуть по одному из имен, и это имя появится в текстовом поле в той же форме. Ценю всю помощь. Спасибо

Вот код, который генерирует мои клиенты

   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, чтобы отобразить запись, щелкнувшую в списке.

надеюсь, это поможет

Другие вопросы по тегам