[WinForm] 动态添加控件添加后,怎么知道选择的是哪个控件

assky124 2008-07-15 04:47:25
我动态添加控件,采用的存储结构是一个ArrayList controllist和一个 控件 control.
这样有个问题我点击一个控件时不知道control控件应该指向controllist中的哪个?
不能动的控件当然可以通过捕获坐标的位置来反算control在controllist的位置。但是我的控件组是MDI子窗体,他是可以移动的!
具体的实例参见遨游浏览器的多窗体效果。
有什么好的思路么?

________

用数组存储控件组显然很不方便,不够动态和添加完之后的事件也不好处理
...全文
250 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
JeffChung 2008-07-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 smntbk 的回复:]
C# code//动态的处理事件也很方便:
Button btn = sender as Button;//sender:触发事件的对象
[/Quote]
如果是控件都是同一类的,事件也是相同的话,可以事件里头通过sender可以啦
如果不同的控件不同的事件就要用hashtable吧
virusswb 2008-07-15
  • 打赏
  • 举报
回复
用name或者ID或者text来确定
  • 打赏
  • 举报
回复
void 鼠标点击事件(object sender,事件源)
{
Button btn = sender as Button;
//判断btn的ID
}
wanghui0380 2008-07-15
  • 打赏
  • 举报
回复
一般是用hashtable保存
烈火焚身 2008-07-15
  • 打赏
  • 举报
回复
up
chinaicm 2008-07-15
  • 打赏
  • 举报
回复
采用hashtable这种存储结构呢?一个key一个value.或者是用dictionary<string key,Object Value>
smntbk 2008-07-15
  • 打赏
  • 举报
回复
//动态的处理事件也很方便:
Button btn = sender as Button;//sender:触发事件的对象
周公 2008-07-15
  • 打赏
  • 举报
回复
根据控件名称或者控件关联的文本(即Text属性)来找。
smntbk 2008-07-15
  • 打赏
  • 举报
回复
Button btn = this.Controls.Find("buttonName", false)[0] as Button;

110,019

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧