我已经为我的NotifyIcon创建了ContextMenuStrip(在系统托盘中)。但是,ContextMenuStrip的方向始终在左侧。我注意到,在许多其他应用程序(例如skype)上,它在右侧打开:
我的ContextMenuStrip始终在左侧打开。我试图设置DefaultDropDownDirection,但是徒劳无功->无论我选择什么ToolStripDownDirection,它总是一样的:
_menuStrip.DefaultDropDownDirection = ToolStripDropDownDirection.BelowRight;
我希望能够更改ContextMenuStrip打开的方向。任何的想法?
最佳答案
您应该使用Opening
事件(msdn)和ContextMenuStrip.Show
方法(msdn):
...
ContextMenuStrip _menuStrip = new ContextMenuStrip();
_menuStrip.Opening +=_menuStrip_Opening;
...
打开事件处理程序:
void _menuStrip_Opening(object sender, CancelEventArgs e)
{
ContextMenuStrip menuStrip = (sender as ContextMenuStrip);
menuStrip.Show(Cursor.Position, ToolStripDropDownDirection.AboveRight);
}