在TableLayoutPanel上双击事件

时间:2013-11-12 13:41:05

标签: c# winforms

我不敢相信我在这里问这么简单的问题!

我有一个winform C#桌面应用程序。

我有tablelayoutpanel - dock属性设置为Filled。 它有3行。

在第一行我添加了另一个tablelayoutpanel。 它还将dock属性设置为Filled。 列数为3。 在第1列中有一个图片框控件。 在第3列中有一个标签控件。

我已经为双屏事件编写了代码,并为picturebox,label和2nd TableLayoutPanel编写了MouseDoubleClickEvent代码。 我在两个事件中都设置了一个断点。

我运行应用程序,双击图片,标签和/或tablelayoutpanel,但断点永远不会被击中。

如果需要,我可以发布代码,但它很简单,我尚未这样做(还)。

  1. 这是一个已知问题吗?
  2. 我错过了一些明显的东西吗?
  3. 我完全没用了吗?
  4. 由于

    我的代码:

    我声明了这个模块事件:

    private void Caption_DoubleClick(object sender, MouseEventArgs e)
    {
        if (this.WindowState == FormWindowState.Maximized)
        {
            WindowState = FormWindowState.Normal;
        }
        else
        {
            WindowState = FormWindowState.Maximized;
        }
    }
    

    这与表格的设计者联系在一起

    tlpCaption.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.Caption_DoubleClick);
    
    lblCaption.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.Caption_DoubleClick);
    
    picLogo.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.Caption_DoubleClick);
    

2 个答案:

答案 0 :(得分:1)

首先我讨厌一个tableLayoutPanel,一切都很好。调试器停止。但是当我在第一个tableLayoutPanel中添加另一个tableLayoutPanel并移动了图片框时,调试器将无法访问我的代码。我和你一样有同样的问题。删除事件并再次添加它们解决了我的问题..

  1. 注释掉Caption_DoubleClick函数并删除代码中的绑定
  2. 重建代码,没有错误
  3. 由设计师添加新事件并验证debuigger在此停止
  4. 将代码从注释移到此方法

答案 1 :(得分:1)

我无法重现这个问题......某些东西在您的项目中“腐败”。这不是嵌套TableLayoutPanels或其他任何东西的错误。遗憾。

enter image description here