哪个UserControl调用事件MouseEnter?

塔蒂亚娜M

我有一个清单,UserControl我想知道哪个UserControl正在调用event MouseEnterUserControl在上添加了多个TableLayoutPanel

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事件被激活?

IV软件

最大的不同是,如果给新的MyUserControl一个Name,因为默认的Name是一个空字符串。您可以尝试将代码更改为此,看看是否有帮助?

List<MyUserControl> form = new List<MyUserControl>();

for (int x = 0; x < 5; x++)
{
    tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 200));
    if (x == 0)
        tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.AutoSize));

    // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
    // Here are the changes
    MyUserControl myUserControl = new MyUserControl();
    myUserControl.Name = "MyUserControl_" + x.ToString("D2"); // Name it! (Default is "")                
    myUserControl.MouseEnter += MyUserControl_MouseEnter;     // Hook the MouseEnter here
    myUserControl.Codigo = 1000 + x;                          // Example to set Codigo     
    // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    form.Add(myUserControl); // NOTE! This is changed from 'new MyUserControl()'.
}

for (int x = 0; x < form.Count; x++)
{
    tableLayoutPanel1.Controls.Add(form[x], x, 0);
}

现在,处理程序如下所示:

private void MyUserControl_MouseEnter(object sender, EventArgs e)
{
    MyUserControl myUserControl = (MyUserControl)sender;
    Debug.WriteLine(
        "MouseEnter Detected: " + myUserControl.Name + 
        " - Value of Codigo is: " + myUserControl.Codigo);
}

...在哪里(根据您对Codigo的评论)...

class MyUserControl : UserControl
{
    public int Codigo 
    { 
        set 
        { 
            test = value; 
        } 
        get 
        { 
            return test; 
        } 
    }
    int test = 0;
    // Of course there is more implementation of MyUserControl that follows...
}

我真的希望这可以帮助您解决遇到的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检查哪个对象调用事件方法

来自分类Dev

检查哪个对象调用事件方法

来自分类Dev

如何调用事件?

来自分类Dev

UserControl的标签隐藏了MouseEnter事件

来自分类Dev

C#调用事件

来自分类Dev

从主函数调用事件

来自分类Dev

通过showInputDialog调用事件

来自分类Dev

调用方法后的调用事件

来自分类Dev

调用方法后的调用事件

来自分类Dev

调用事件,h(args)与EventName?.Invoke()

来自分类Dev

在Bootstrap面板上调用事件展开

来自分类Dev

用JavaScript创建和调用事件

来自分类Dev

一次通用事件调用?

来自分类Dev

直接调用事件处理程序

来自分类Dev

如何获取调用事件的BrowserWindow实例?

来自分类Dev

在函数C#中调用事件

来自分类Dev

取消订阅后调用事件

来自分类Dev

在UI上调用事件方法

来自分类Dev

jQuery滑块避免过快调用事件

来自分类Dev

未调用事件侦听器

来自分类Dev

调用事件,h(args)与EventName?.Invoke()

来自分类Dev

直接调用事件处理程序

来自分类Dev

调用事件是跨线程的吗?

来自分类Dev

ClearInterval 删除与否调用事件 JS

来自分类Dev

使用事件对象调用JavaScript鼠标事件

来自分类Dev

调用事件后等待事件侦听器完成

来自分类Dev

Spring Security应用程序调用事件列表器

来自分类Dev

如何启用事件,以便调用Workbook_BeforeSave

来自分类Dev

ASP.NET按钮未调用事件