在.NET中的任务栏中添加到右键单击应用程序菜单

时间:2020-03-06 14:55:39  来源:igfitidea点击:

大多数应用程序仅具有"还原,移动,大小,最小化,最大化和关闭",但是MS SQL提供了额外的选项"帮助,自定义视图"。沿着这些思路,是否可以在任务栏中添加到应用程序的右键菜单?

注意:我指的不是时钟旁边通知区域中的图标。

解决方案

本文为我们提供C#演练!

这是我找到的更简单的答案。我很快对其进行了测试,并且可以正常工作。

我的代码:

private const int WMTaskbarRClick = 0x0313;
protected override void WndProc(ref Message m)
    {
        switch (m.Msg)
        {
            case WMTaskbarRClick:
                {
                    // Show your own context menu here, i do it like this
                    // there's a context menu present on my main form so i use it

                    MessageBox.Show("I see that.");

                    break;
                }
            default:
                {
                    base.WndProc(ref m);
                    break;
                }
        }
    }

我创建了一个应用程序并使用了此代码,它可以很好地工作,但是我遇到了一个小问题,需要进一步解决。我创建了一个上下文菜单,该菜单应模仿右键单击的Windows系统菜单。右键单击任务栏时,将显示上下文菜单,但其底部停在任务栏的顶部。 X位置很完美,但是我希望Y位置像正常的Windows系统菜单一样显示在任务栏上。有什么办法吗?这是我输入的代码,而不是上面代码中的MessageBox.Show。

contextMenuStrip.Show(Cursor.Position.X, Cursor.Position.Y);