Pergunta

É preciso mudar o ContextMenuStrip largura de forma dinâmica, por padrão, o ContextMenuStrip largura depende do comprimento do texto dos ToolstripmenuItems.

E BTW eu realmente não quero redesenhar o controle novamente !!!

Agradecemos antecipadamente.

Foi útil?

Solução

Você precisa definir a propriedade ContextMenuStrip AutoSize para false. Em seguida, você pode definir a propriedade Largura para o que quiser. Quando AutoSize é definida como true, a propriedade largura é ignorado e é calculado dinamicamente.

Exemplo:

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

Outras dicas

AutoSize faz um trabalho muito pobre de adivinhar a "correta" tamanho de qualquer maneira. Quando TRUE, o menu é muito maior do que qualquer do texto seria necessário que ele seja.

Quando você defini-lo manualmente ... você também tem que definir o altura a ser muito menos do que seria de esperar ... se você quer que ele para exibir no menu de tamanho correto.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top