C#在click事件中怎么传递一个自定义的参数,举个例子
for(inti=1;i<18;i++){pb[i].Click+=newEventHandler(Pb_Click);}}publicoverridevoidPb_Cl...
for (int i = 1; i < 18; i++)
{
pb[i].Click += new EventHandler(Pb_Click);
}
}
public override void Pb_Click(object sender, EventArgs e,int i){}
比如我要把i的值传过去 展开
{
pb[i].Click += new EventHandler(Pb_Click);
}
}
public override void Pb_Click(object sender, EventArgs e,int i){}
比如我要把i的值传过去 展开
3个回答
展开全部
我做一个小程序时悉首,也遇到楼主的问题了,最后我是这样伍郑解决的,
myText[i, k] = new TextBox();
myText[i, k].Location = new Point(k * 35+40 , i * 30+30 );
myText[i, k].Size = new Size(35, 30);
myText[i, k].Name = Convert.ToString(i)+" "+ Convert.ToString(k);//把需要传送的变量变成对象名,中间用字符隔开,我用的是空格。
this.myText[i, k].TextChanged += new System.EventHandler(this.myText_TextChanged);
然后在事件代码里面提取:
private void myText_TextChanged(object sender, EventArgs e)
{
int i, k;
TextBox tex = (TextBox)sender;
string[] arr1 = tex.Name.Split(' ');//这里是用空格分组的,和上面要对应起来
i = Convert.ToInt16(arr1[0]);
k = Convert.ToInt16(arr1[1]);
这样做可以满足楼主的要求睁橘数,如果传送其他参数就不行了, 我没学过计算机,这样的解决方法可能很另类,让大家见笑了。
myText[i, k] = new TextBox();
myText[i, k].Location = new Point(k * 35+40 , i * 30+30 );
myText[i, k].Size = new Size(35, 30);
myText[i, k].Name = Convert.ToString(i)+" "+ Convert.ToString(k);//把需要传送的变量变成对象名,中间用字符隔开,我用的是空格。
this.myText[i, k].TextChanged += new System.EventHandler(this.myText_TextChanged);
然后在事件代码里面提取:
private void myText_TextChanged(object sender, EventArgs e)
{
int i, k;
TextBox tex = (TextBox)sender;
string[] arr1 = tex.Name.Split(' ');//这里是用空格分组的,和上面要对应起来
i = Convert.ToInt16(arr1[0]);
k = Convert.ToInt16(arr1[1]);
这样做可以满足楼主的要求睁橘数,如果传送其他参数就不行了, 我没学过计算机,这样的解决方法可能很另类,让大家见笑了。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
menuItemFolder.Click += (sender, e) => YourMethod(owner, dataType);
public void YourMethod(owner, dataType)
{灶弯灶伏
}隐辩闷
public void YourMethod(owner, dataType)
{灶弯灶伏
}隐辩闷
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询