C#跨多个监视器控制菜单位置

时间:2010-11-22 15:21:59

标签: c# menu multiple-monitors

我有两台显示器。当我在左侧监视器边缘附近访问C#应用程序的MenuStrip时,我看到一些奇怪的行为。

案例1:在此屏幕截图中,当窗口非常靠近左侧监视器的边缘时,我打开了SubMenu1。 SubMenu2显示在我的右侧监视器的最左边。

Gap

案例2:然后我将应用程序向左移动几个像素,现在SubMenu2出现在SubMenu1的左侧。

No Gap

在我看来,案例2看起来更好。有没有办法迫使C#总是像案例2一样显示菜单?

2 个答案:

答案 0 :(得分:2)

如果没有编写自己的MenuStrip组件,则无法指定MenuItem应在哪一侧打开。

此外,除非这是软件的特定要求(我非常怀疑),否则我不会太担心它。

答案 1 :(得分:1)

您可以在程序中控制它,将SubMenu1的RightToLeft属性设置为RightToLeft.Yes。这有一些副作用,文本现在将是右对齐的,箭头将指向正确的方式。您可能希望在“菜单”项的DropDownOpening事件处理程序中设置该属性。