C# положение меню управления на нескольких мониторах


У меня есть два монитора. Я наблюдаю некоторое странное поведение, когда я получаю доступ к MenuStrip моего приложения C# около края моего левого монитора.

Случай 1: на этом снимке экрана я открыл Подменю1, когда окно находится довольно близко к краю моего левого монитора. Подменю2 появляется на крайнем левом краю моего правого монитора.

Пробел

Случай 2: Затем я перемещаю свое приложение на несколько пикселей влево, и теперь Подменю2 появляется слева от Подменю1.

никакой зазор

На мой взгляд, случай 2 выглядит гораздо лучше. Есть ли способ заставить C# всегда показывать меню, как в случае 2?

2 3

2 ответа:

Вы можете управлять им в своей программе, установите свойство Righttoleft Подменю1 в RightToLeft.Да. Это имеет некоторые побочные эффекты, текст теперь будет выровнен по правому краю, и стрелка укажет правильный путь. Возможно, вы захотите задать это свойство в обработчике событий A DropDownOpening для пункта меню.

Кроме написания собственного компонента MenuStrip, Нет способа указать, с какой стороны должен открываться компонент MenuItem.

Кроме того, если это не является специфическим требованием программного обеспечения (в чем я сильно сомневаюсь), я бы не слишком беспокоился об этом.