我想要标题栏上的上下文菜单右键单击
有没有C中的提示/样品?
更新-由于各种原因,右键单击表单将不起作用,因为表单不是空的,并且表单是动态合成的,所以…

最佳答案

您可以通过捕获用户右键单击标题栏时Windows发送的wm_ncButtonDown通知来完成此操作。控件类没有它的事件,您需要重写wndproc()。下面是一个示例表单,您需要添加一个ContextMenuStrip:

public partial class Form1 : Form {
    public Form1() {
        InitializeComponent();
    }

    protected void OnTitlebarClick(Point pos) {
        contextMenuStrip1.Show(pos);
    }

    protected override void WndProc(ref Message m) {
        const int WM_NCRBUTTONDOWN = 0xa4;
        if (m.Msg == WM_NCRBUTTONDOWN) {
            var pos = new Point(m.LParam.ToInt32());
            OnTitlebarClick(pos);
            return;
        }
        base.WndProc(ref m);
    }
}

关于c# - 如何右键单击表格标题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1948014/

10-12 02:57