| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4139 人关注过本帖
标题:C#事件调用
只看楼主 加入收藏
chenweichao2010
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2008-10-19
收藏
 问题点数:0 回复次数:10 
C#事件调用
请求各位给我解答一下!(事件调用)
private void txtInput_TextChanged(object sender, EventArgs e)
        {
            String strInput = txtInput.Text.ToString().Trim();
            SqlConnection myConnection = new SqlConnection

("server=localhost;database=ProductData;Trusted_Connection=yes;user id=;password=");
            SqlDataAdapter orderdet = new SqlDataAdapter("select

pId,pName,pModel,pUnit,pColor,pPurchasePrice,pMinAmount from Product where pId like '%" +

strInput + "%' or pName like '%" + strInput + "%'", myConnection);
            DataTable dt = new DataTable();
            orderdet.Fill(dt);
            dataProductBill.DataSource = dt.DefaultView;
            //dataProductBill_CellMouseDoubleClick(null,null);
        //想在这里调用dataProductBill_CellMouseDoubleClick()这个事件,但调用这个事件都没有反应的,可能是参数的问题吧!
        }




   private void dataProductBill_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            try
            {
                //获取DataGirdView中的值
                String strId = dataProductBill.CurrentRow.Cells["pId"].Value.ToString();
                String strName = dataProductBill.CurrentRow.Cells["pName"].Value.ToString();
                String strModel = dataProductBill.CurrentRow.Cells["pModel"].Value.ToString();
                String strUnit = dataProductBill.CurrentRow.Cells["pUnit"].Value.ToString();
                String strColor = dataProductBill.CurrentRow.Cells["pColor"].Value.ToString();
                String strPuchasePrice = dataProductBill.CurrentRow.Cells["pConsultPrice"].Value.ToString();
                String strMinAmount = dataProductBill.CurrentRow.Cells["pMinAmount"].Value.ToString();
                String strManufacturer = dataProductBill.CurrentRow.Cells["pManufacturer"].Value.ToString();
                String strRemark = dataProductBill.CurrentRow.Cells["pRemark"].Value.ToString();
                FrmProductInfo fr = new FrmProductInfo(strId, strName, strModel, strUnit, strColor, strPuchasePrice, strMinAmount, strManufacturer, strRemark);
                fr.Owner = this;               
                fr.ShowDialog();
                label3.Text = strContent.ToString ();
                label4.Text = strName;
                label5.Text = strName1;               
                fr.Dispose();
                fillData();         
            }
            catch
            {
                MessageBox.Show("没有可选商品!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
搜索更多相关主题的帖子: localhost where 
2008-10-25 16:14
shmilylee
Rank: 2
来 自:江苏扬州蹩脚小公司
等 级:论坛游民
威 望:2
帖 子:242
专家分:22
注 册:2007-7-6
收藏
得分:0 
dataProductBill.CellMouseDoubleClick += new EventHandler(dataProductBill_CellMouseDoubleClick);

注册事件时写好+=按2次"tab"键就会帮你写好的!


太可恶了,居然不能超过100个字符!
这区区100个又怎么能概括我平凡而又伟大的一生!
2008-10-26 10:21
top_lsp
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2007-3-17
收藏
得分:0 
2008-10-26 14:25
zhujie19881029
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-6-17
收藏
得分:0 
来学习了一下
2008-10-26 18:24
chenweichao2010
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2008-10-19
收藏
得分:0 
[bo][un]shmilylee[/un] 在 2008-10-26 10:21 的发言:[/bo]


dataProductBill.CellMouseDoubleClick += new EventHandler(dataProductBill_CellMouseDoubleClick);

注册事件时写好+=按2次"tab"键就会帮你写好的!


谢谢你的指教!可是怎么会报错的啊!错误如下:

1.jpg (6.8 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
2008-10-27 11:32
铲铲
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:506
专家分:0
注 册:2006-5-2
收藏
得分:0 
CellMouseDoubleClick事件所使用的委托是DataGridViewCellMouseEventHandler,该委托的构造如下:
public delegate void DataGridViewCellMouseEventHandler(object sender, DataGridViewCellMouseEventArgs e);

委托所使用的型参列表是object sender, DataGridViewCellMouseEventArgs e,因此你构造一个事件方法的型参列表需与此一致:

private void dataProductBill_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e).



具体修改如下:
修改注册事件的语句为:

dataProductBill.CellMouseDoubleClick += new DataGridViewCellMouseEventHandler(dataProductBill_CellMouseDoubleClick);

并修改事件方法的参数以符合要求:
private void dataProductBill_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
    ...
}

铲铲是也
2008-10-27 15:42
liubaoen
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:104
专家分:117
注 册:2006-6-12
收藏
得分:0 
斑竹真是高手,对于C#中事件驱动模型的理解非常透彻。佩服!
2008-10-27 20:28
chenweichao2010
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2008-10-19
收藏
得分:0 
[bo][un]铲铲[/un] 在 2008-10-27 15:42 的发言:[/bo]

CellMouseDoubleClick事件所使用的委托是DataGridViewCellMouseEventHandler,该委托的构造如下:
public delegate void DataGridViewCellMouseEventHandler(object sender, DataGridViewCellMouseEventArgs e);

 ...



谢谢你的指教,那么准确来说,在我上面的那段程序中,我应该怎么使用呢?能明确点告诉我吗?谢谢
2008-10-28 12:05
q51308519
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-10-28
收藏
得分:0 
太高深了
2008-10-28 14:01
chenweichao2010
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2008-10-19
收藏
得分:0 
[bo][un]铲铲[/un] 在 2008-10-27 15:42 的发言:[/bo]

CellMouseDoubleClick事件所使用的委托是DataGridViewCellMouseEventHandler,该委托的构造如下:
public delegate void DataGridViewCellMouseEventHandler(object sender, DataGridViewCellMouseEventArgs e);

 ...

那么在我上面那段程序中,该具体怎么应用呢?谢谢
2008-10-28 20:36
快速回复:C#事件调用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018926 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved