C# 按钮单击()如果放置在组框中,将触发两次

C# 按钮单击()如果放置在组框中,将触发两次,c#,desktop-application,buttonclick,groupbox,C#,Desktop Application,Buttonclick,Groupbox,我是桌面应用程序开发新手 我有一个搜索按钮,通过它可以从数据库记录中填充网格 首先,我将按钮放在组框中并调试程序,发现click事件触发了两次。然后,我将相同的按钮放在文本框外,发现事件只触发一次 我的按钮\u Click()事件包含以下代码: private void btnSearch_Click(object sender, EventArgs e) { string query = null; if (txtBillNo.Enabled && txtBi

我是桌面应用程序开发新手

我有一个搜索按钮,通过它可以从数据库记录中填充网格

首先,我将按钮放在组框中并调试程序,发现
click
事件触发了两次。然后,我将相同的按钮放在文本框外,发现事件只触发一次

我的
按钮\u Click()
事件包含以下代码:

private void btnSearch_Click(object sender, EventArgs e)
{
    string query = null;

    if (txtBillNo.Enabled && txtBillNo.Text.Trim().Length != 0)
    {
        query = "Select BillNo,PartyName,City,State,FORMAT(BillDt,'dd-mm-yyyy')as Dt from BillMaster where BillNo=" + Convert.ToInt32(txtBillNo.Text.Trim());
        FillGrid(query);
    }

    else if (txtName.Enabled && txtName.Text.Trim().Length != 0)
    {
        query = "Select BillNo,PartyName,City,State,FORMAT(BillDt,'dd-mm-yyyy')as Dt from BillMaster where UCASE(PartyName) like '" + txtName.Text.Trim().ToUpper() + "'";
        FillGrid(query);
    }

    else
    {
        MessageBox.Show("Enter Value First");
        if (rdbName.Enabled)
        {
            txtName.Focus();     
        }
        else if (rdbBillNo.Enabled)
        {
            txtBillNo.Focus();  
        }               
    }                 
}
事件处理程序以_Load()事件的形式绑定,使用:

btnSearch.Click+=neweventhandler(btnSearch\u Click)

在将按钮放入组框后,我应该如何触发单击事件。

请帮助。

我认为您的
b搜索单击的内容与此无关。我几乎可以肯定
btnSearch.Click
分配了两次。一旦在你的
表单中加载
,或者可能在其他地方,可能在你的代码隐藏文件中?

你绝对确定Designer.CS文件中没有发生事件的订阅吗?这也是我的想法@MatthewWatson….是的,先生,我确定,因为在[Design]表单中,当我双击搜索按钮时。它允许我在“private void btnSearch_Click_1(object sender,EventArgs e)”块中编写代码@MatthewWatson@RiyazKalva很公平-虽然我会在Designer.cs中查看一下以防万一…我也检查了Designer.cs,没有发现为按钮分配了事件处理程序。我也检查了Designer.cs,没有发现为按钮分配了事件处理程序@马丁穆德