Вопрос

Мне нужно динамически изменять ширину contextmenustrip, по умолчанию ширина contextmenustrip зависит от длины текста ToolStripMenuItems.

И, кстати, я действительно не хочу снова перерисовывать элемент управления!!!

Заранее благодарю.

Это было полезно?

Решение

Вам нужно установить свойству ContextMenuStrip AutoSize значение false.Затем вы можете установить для свойства Width любое значение, какое захотите.Когда значение AutoSize равно true, свойство Width игнорируется и вычисляется динамически.

Пример:

Dim menu As New ContextMenuStrip()
menu.AutoSize = False
menu.Width = 100

Другие советы

Автоматический размер в любом случае ОЧЕНЬ плохо определяет "правильный" размер.Когда значение TRUE, меню намного шире, чем требовалось бы для любого текста.

Когда вы устанавливаете его вручную...вы также должны установить ВЫСОТА быть намного меньше, чем вы могли бы ожидать...если вы хотите, чтобы он отображался в меню правильного размера.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top