C# 自定义控件数组事件

tqsmmm 2012-03-26 12:59:21
自定义控件中上面一个LABLE,下面一个LABLE,现在是我做了几个自定义属性,调用这个自定义控件数组后,统一事件是Items_Click但是我都是LABLE触发的,我现在想得到Items的自定义属性。
...全文
213 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
assky124 2012-03-26
  • 打赏
  • 举报
回复
Label添加SelectIndex属性
bdmh 2012-03-26
  • 打赏
  • 举报
回复

private void Items_Click(object sender, System.EventArgs e)
{
((Label)sender).Parent//这个就是lable所在的自定义组件
}
tqsmmm 2012-03-26
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 bdmh 的回复:]

你甚至都可以通过sender(其实就是你点击的lable)的parent来访问items[i],根本不用关心i是多少
[/Quote]

有点不明白,有代码吗?
bdmh 2012-03-26
  • 打赏
  • 举报
回复
你甚至都可以通过sender(其实就是你点击的lable)的parent来访问items[i],根本不用关心i是多少
bdmh 2012-03-26
  • 打赏
  • 举报
回复
给你一个最简单的办法吧,把i的值放到sender的tag属性中
tqsmmm 2012-03-26
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 bdmh 的回复:]

而且你出发click事件时,是可以把items[i]传给sender参数的,这样点击时的sender就不是lable而是你的自定义组件了,你可以通过sender去访问
[/Quote]

怎么把i传递给sender?
bdmh 2012-03-26
  • 打赏
  • 举报
回复
而且你出发click事件时,是可以把items[i]传给sender参数的,这样点击时的sender就不是lable而是你的自定义组件了,你可以通过sender去访问
tqsmmm 2012-03-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 bdmh 的回复:]

怎么了呢,想得到Items的自定义属性,这又是什么意思呢,你想得到什么,你不是完全可以通过诸如Items[i].xxx来访其中属性吗
[/Quote]


是啊,我是可以通过Items[i].xxx来访问,但是现在是自定义控件中的lable触发的事件,我得不到是当前哪个items!
bdmh 2012-03-26
  • 打赏
  • 举报
回复
怎么了呢,想得到Items的自定义属性,这又是什么意思呢,你想得到什么,你不是完全可以通过诸如Items[i].xxx来访其中属性吗
而且你出发click事件时,是可以把items[i]传给sender参数的,这样点击时的sender就不是lable而是你的自定义组件了,你可以通过sender去访问
tqsmmm 2012-03-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 tqsmmm 的回复:]

引用 1 楼 bdmh 的回复:

不懂,举个例子说一下吧,items是个啥东西


Items是我的自定义控件,里面有2个控件,上面1个LABLE控件,下面1个LABLE控件。

C# code

for (int i = 0; i < 16; i++)
{
Items[i] = new LYItems.Items();
……
[/Quote]

private void Items_Click(object sender, System.EventArgs e)
{

}


我现在想在这个事件中能得到我自定义控件中的自定义属性的赋值。
tqsmmm 2012-03-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bdmh 的回复:]

不懂,举个例子说一下吧,items是个啥东西
[/Quote]

Items是我的自定义控件,里面有2个控件,上面1个LABLE控件,下面1个LABLE控件。


for (int i = 0; i < 16; i++)
{
Items[i] = new LYItems.Items();

Items[i].lblName.Click += new System.EventHandler(Items_Click);
Items[i].lblPrice.Click += new System.EventHandler(Items_Click);

this.flpItems.Controls.Add(Items[i]);
}
bdmh 2012-03-26
  • 打赏
  • 举报
回复
不懂,举个例子说一下吧,items是个啥东西

111,126

社区成员

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

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

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