【问题标题】:mousedown event does not trigger for dockpanel suite in C#C# 中的停靠面板套件不会触发 mousedown 事件
【发布时间】:2014-11-24 08:38:55
【问题描述】:

我有一个表单MainForm,它继承了DockContent,甚至在表单的初始化中注册了mousedown 和keypress 事件。 但是这些事件都没有被触发,而且真的不知道可能是什么原因。

下面是代码:

using WeifenLuo.WinFormsUI.Docking;
public partial class MainForm : DockContent
{

     InitializeComponent();         
}

 private void InitializeComponent()
 {    
    this.Load += new System.EventHandler(this.MainForm_Load);
    this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.MainForm_KeyPress);
    this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.MainForm_KeyUp);
    this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.MainForm_MouseDown);
 }


}

private void MainForm_MouseDown(object sender, MouseEventArgs e)
{
    Copy.Show(Cursor.Position);
}

在表单的右侧或左侧单击我想显示带有“复制”项的上下文菜单。但是mousedown事件甚至keypress事件都不会触发。

【问题讨论】:

  • 有什么消息吗?你读过我更新的答案吗?
  • @giammin - 我真的不知道......为什么......它没有捕获鼠标按下或任何按键事件......我也读了你的答案......仍然一样......我'我还在尝试..

标签: c# .net mouseevent mousedown dockpanel-suite


【解决方案1】:

鼠标事件仅适用于顶部控件,因此当顶部有另一个控件时,它们不会为表单控件触发。

在那里你可以找到一些解决方法:

How do I grab events from sub-controls on a user-control in a WinForms App?

无论如何,我用你的代码创建了一个简单的 winform 应用程序,一切正常,所以你肯定有一些东西正在吞噬你的所有事件

using System.Windows.Forms;
using WeifenLuo.WinFormsUI.Docking;

namespace WindowsFormsApplication2
{
    public partial class Form1 : DockContent
    {
        public Form1()
        {
            InitializeComponent();
            label1.Text = "init";
            KeyPress += MainForm_KeyPress;
            KeyUp += MainForm_KeyUp;
            MouseDown += MainForm_MouseDown;
        }
        private void MainForm_MouseDown(object sender, MouseEventArgs e)
        {
            label1.Text = "MainForm_MouseDown";
        }
        private void MainForm_KeyUp(object sender, KeyEventArgs e)
        {
            label1.Text = "MainForm_KeyUp";
        }
        private void MainForm_KeyPress(object sender, KeyPressEventArgs e)
        {
            label1.Text = "MainForm_KeyUp";
        }
    }
}

【讨论】:

猜你喜欢
  • 2017-11-30
  • 2016-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多