Удалить .net ContextMenuStrip Padding - PullRequest
2 голосов
/ 25 марта 2009

При создании ContextMenuStrip существует огромное количество отступов вокруг содержащихся элементов управления. Например:

    Me.myMenu = New ContextMenuStrip
    'unset all obvious padding settings'
    Me.myMenu.ShowCheckMargin = False
    Me.myMenu.ShowImageMargin = False
    Me.myMenu.Margin = New System.Windows.Forms.Padding(0)
    Me.myMenu.Padding = New System.Windows.Forms.Padding(0)

    Dim addButton As New Button
    addButton.Size = New Size(60, 60)
    addButton.Text = "Button"
    Dim addControlHost As New ToolStripControlHost(addButton)

    Me.myMenu.Items.Add(addcontrolhost)

    Me.ContextMenuStrip = Me.myMenu

В идеале это приведет к появлению кнопки 60x60 в месте расположения курсора. Что на самом деле всплывает, так это:

альтернативный текст http://img144.imageshack.us/img144/8512/contextmenubutton.png

Кнопка там, как и ожидалось, но, несмотря на то, что нет полей, нет отступов, и для обеих настроек Show * Margin установлено значение False, вокруг кнопки есть массивная граница.

Я, вероятно, упускаю что-то ослепительно очевидное, но как я могу избавиться от всей белой окантовки, особенно этого огромного правого поля?

1 Ответ

0 голосов
/ 31 мая 2009

Я думаю, что установка ShowShortCutKeys = False избавит от некоторых лишних правых полей.

...