【问题标题】:Child form not catching any mouse events子窗体没有捕获任何鼠标事件
【发布时间】:2015-10-31 10:22:13
【问题描述】:

我有一个 Windows 窗体应用程序,我在其中实例化另一个窗体(从主窗体)并调用它的 Show() 方法。由于某种原因,我无法在子窗体上接收任何鼠标事件(上面没有控件)。鼠标事件在父窗体上正常工作(在没有控件的区域)。

但是,如果我重写基类方法,我可以让鼠标事件在子窗体上起作用。

protected override void OnMouseDown(MouseEventArgs e)
    {
        // This works fine
    }

这似乎完全错误。我错过了什么?

【问题讨论】:

    标签: c# winforms events mouseevent


    【解决方案1】:

    我终于明白了。我为子表单创建了一个自定义构造函数。它没有调用 InitializeComponent() 在普通构造函数中看到的方法。坦率地说,我不知道 initializeComponent 方法的作用,但我知道它不会让您有任何鼠标事件。虽然这有点愚蠢,但我希望它可以避免其他人头疼。

    我应该像这样链接我的重载构造函数:

    public ChildForm(... params ...) : this()
    {
        // code here...
    }
    

    【讨论】:

      猜你喜欢
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 2019-12-05
      • 2011-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-30
      相关资源
      最近更新 更多