Как настроить размер кнопки ToolStripDropdown для соответствия размеру родительской выпадающей кнопки? - PullRequest
6 голосов
/ 05 сентября 2011

Я работаю над настольным приложением C #.Я использую menu strips control, в котором я использовал drop down button.

. Каждый раз, когда щелкают по раскрывающемуся списку, он отображает элементы, но, похоже, проблема в ширине раскрывающегося меню, она всегда больше.Я хочу, чтобы он был того же размера, что и кнопка.

Вот снимок экрана:

Screenshot

Что я пытаюсь настроить:

  1. Я хочу, чтобы ширина DropDown была такой же, как у кнопки.
  2. Стрелка раскрывающегося списка должна быть больше.
  3. Кнопка должна быть изогнутой, а не плоскойв стиле это кнопка ToolStripDropdown.

Ответы [ 2 ]

1 голос
/ 04 января 2012

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

Вы должны иметь возможность изменять форму / размер стрелки раскрывающегося списка с помощью пользовательской раскраски. Вы должны иметь возможность ограничить размер выпадающего меню, переопределив элемент управления. Однако, поскольку в выпадающем меню есть место для галочек и строк ярлыков, я подозреваю, что вам, возможно, потребуется выполнить больше работы, чем вы ожидали.

Вот несколько советов, которые могут вам пригодиться: http://connect.microsoft.com/VisualStudio/feedback/details/97456/owner-drawn-toolstripcombobox

Это предполагает использование ToolStripControlHost (control) для размещения произвольных элементов управления. С простым примером по адресу: http://alala666888.wordpress.com/2010/07/15/custom-toolstripitem/

http://www.codeproject.com/KB/static/DropDownContainer.aspx Этот проект (хотя и в VB.Net) показывает многие проблемы с написанием ваших собственных элементов управления для того же.

Существует также статья о написании ToolStripRenderers: http://www.codeproject.com/KB/menus/CustomToolStripRenderer.aspx

Вот еще один пример пользовательского элемента управления на основе C #: http://www.codeproject.com/KB/selection/office2003colorpicker.aspx

0 голосов
/ 08 сентября 2011

Вы могли бы вместо этого использовать элемент управления ComboBox и изменить DropDownStyle на DropDownList.

Некоторую информацию о том, как использовать кнопку с ComboBox, можно найти здесь: http://social.msdn.microsoft.com/forums/en-US/winformsdesigner/thread/5d65f987-834c-465f-a944-622831d4cfb0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...