【发布时间】:2020-06-02 12:32:30
【问题描述】:
我有一个UserControl 的列表,我想知道哪个UserControl 正在调用事件MouseEnter。我在TableLayoutPanel 上添加了多个UserControls。
List<MyUserControl> form = new List<MyUserControl>();
for (int x = 0; x < dt.Rows.Count; x++)
{
tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 200));
if (x == 0)
tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.AutoSize));
form.Add(new MyUserControl());
}
for (int x = 0; x < form.Count; x++)
{
form[x].MouseEnter += new EventHandler(Form_MouseEnter);
tableLayoutPanel1.Controls.Add(form[x], x, 0);
}
如何找出是哪个UserControl 激活了该事件?
【问题讨论】:
-
您能否向我们展示您的
this.Form_MouseEnter事件处理程序代码? -
(object sender, System.EventArgs e)应该是您的事件参数,对吧? sender 是你的 UserControl -
Form_MouseEnter 实际上是空的,我需要从 MyUserControl 获取这个: public int Codigo { set { test = value; } 得到 { 返回测试; } }
-
Form_MouseEnter 实际上是空的, 那么当鼠标进入任何一个 UC 时,什么都不做。把
MyUserControl enteredUC = sender as MyUserControl;
标签: c# winforms user-controls