ToolStripDropDownButton не показывает элементы при выравнивании по правому краю
Я разработал приложение Winforms, которое имеет панель инструментов. Последний элемент на панели инструментов - это ToolStripDropDownButton с некоторыми элементами.
Мне нужно, чтобы эта кнопка отображалась отдельно от всех других кнопок панели инструментов, поэтому я установил свойство Alignment вправо.
На моем ПК это работает отлично, однако, когда я переместил весь проект Visual Studio в свой ноутбук, а затем запустил приложение, при нажатии кнопки не отображаются элементы меню, однако раскрывающаяся кнопка меняет цвет, показывая, что он был выбран,
Во время разработки элементы отображаются правильно.
Что здесь происходит и возможно ли это решить? На данный момент я установил выравнивание кнопок влево, чтобы оно отображалось вместе с другими кнопками панели инструментов.
Спасибо хайме
1 ответ
Проверьте настройки DPI на своем ноутбуке. Это, вероятно, изменяет размер и отступы ваших элементов. Вы можете обойти это, проверив значение DPI системы и рассчитав размеры элементов управления на основе этого.
var graphics = this.CreateGraphics();
var dpiX = graphics.DpiX / 96d; // Default DPI
var dpiY = graphics.DpiY / 96d; // Default DPI
myToolbar.Width = myWidth * dpiX;
myToolbar.Height= myHeight * dpiY;