请问在C#中,我动态生成多个控件(很多个)后,如何确定使用的是那一个控件的事件?

 我来答
百灵鸟137
2011-07-15 · TA获得超过1210个赞
知道小有建树答主
回答量:348
采纳率:0%
帮助的人:297万
展开全部
1.动态生成的控件可能是Button这种会自动回传的控件,或者TextBox这种人为设置AutoPostBack属性才可以回传的控件。
2.无论是否是动态生成的控件,.NET都会正确的导到控件引发的事件。(动态生成的控件的加载在触发回传事件之前完成)。
3.如果你将所有动态生成的控件的OnClick之类的事件都绑定到同一个事件处理函数。
那么你可以通过函数的参数sender ,正确转化类型,判断ID来确定是哪个控件的事件。
4.从ASP.NET的运行机理上,触发回传的控件的ID会被保存在隐藏字段“__EVENTTARGET”里面。
所以你也可以通过Request.Form["__EVENTTARGET"]取出控件ID,来确定是哪个控件引发的回传~

以上~
yujian1125
2011-07-15 · TA获得超过884个赞
知道小有建树答主
回答量:330
采纳率:0%
帮助的人:244万
展开全部
事件处理器的方法中有一个参数,就是object sender
这个参数就是控件本身的对象,你可以用as关键字得到控件的数据类型
例如你生成的是Button控件
你可以这样写,Button button1=sender as Button;
button1.Text=".....";
追问
不只1个啊 我需要生成很多个~
追答
是啊,sender就是动态的啊?哪个控件的事件发生了sender就是哪个控件
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Benson19
2011-07-15 · TA获得超过236个赞
知道小有建树答主
回答量:306
采纳率:0%
帮助的人:221万
展开全部
你想要的是不是点击哪个Button就触发哪个button的事件?
如果是 你可以为你的每个控件绑定onclick事件,也就是用event。
这样你每次点击的话 他就会自动触发该事件。
另外2楼得办法也可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
王jian56FD
2012-12-07
知道答主
回答量:27
采纳率:0%
帮助的人:7.5万
展开全部
我在tabControl1.TabPages动态生成ListView控件,可以通过此命令设置listview里的内容为111“:
(( ListView) tabControl1.TabPages[0].Controls[0]).Items.Add("111");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rsqmxvoze
2011-07-16 · TA获得超过634个赞
知道小有建树答主
回答量:622
采纳率:0%
帮助的人:268万
展开全部
Label lab = new Label();
lab.Text = "&Save";
lab.Size = new Size(100,30);
lab.Location = new Point(0,0);

this.Controls.Add(lab);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式