【问题标题】:How to use a double click event to click text in a listbox to make that text appear in a empty textbox如何使用双击事件单击列表框中的文本以使该文本出现在空文本框中
【发布时间】:2018-03-16 12:19:55
【问题描述】:

您好,我创建了一个预订工具,我想为每个预订分配一个客户。我创建了一个列表框,它使用数据库中的客户名称生成。我希望能够双击其中一个名称,该名称将以相同的形式出现在文本框中。 感谢所有帮助。谢谢

这是生成我的客户的代码

   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

【问题讨论】:

  • 您好.. 请展示您的代码、您尝试过的内容以及遇到的问题?
  • 编辑后****

标签: c# visual-studio double-click listboxitems


【解决方案1】:

您需要将双击事件绑定到您的列表框。

为此,请在设计模式下查看表单,单击列表框并按 F4 以查看“属性”窗口。 然后单击“闪电”符号以显示事件列表。选择 DoubleClick,单击该框并按 Enter。这应该会为您添加事件绑定。

下面是一个简单的例子。

private void LBcustomersavailable_DoubleClick(object sender, EventArgs e)
{
      if (((ListBox)sender).SelectedItem != null)
            txtName.Text = ((ListBox)sender).SelectedItem.ToString();
}

我添加了一个名为 txtName 的文本框来显示在列表框中单击的条目。

希望有帮助

【讨论】:

  • 如果双击的时候没有选择的话会抛出异常。
  • @RossBush - 是的,真的......谢谢你......我想我只是专注于绑定......我已经更新了......干杯
  • @Wheels73 谢谢。但是,当我双击一个项目时,该给定文本框中显示的文本是“System.Data.DataRowView”任何想法如何纠正这个?
  • @Edel_28 - 你好。我已经离开了。你整理好了吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多