Winform Textbox CanGrow? - PullRequest
       16

Winform Textbox CanGrow?

0 голосов
/ 11 ноября 2009

Я не нахожу свойство CanGrow в элементе управления Textbox. Это распространено в некоторых других элементах управления, и то, что он делает, расширяет элемент управления, чтобы разместить больше данных. В любом случае, чтобы получить эту функцию в TextBox?

Ответы [ 4 ]

0 голосов
/ 16 ноября 2009

Ну, я придумал это:

Private Sub TextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox.TextChanged
        'check to see if textbox has text
        If (TextBox.TextLength > 0) Then
            'resize height of textbox by count of lines (plus add some padding)
            TextBox.ClientSize = New Size(TextBox.ClientSize.Width, Convert.ToInt32((TextBox.Lines.Length * TextBox.Font.Height) + (TextBox.Font.Height * 0.5)))
        Else
            'resize to one line height (plus padding)
            TextBox.ClientSize = New Size(TextBox.ClientSize.Width, Convert.ToInt32(TextBox.Font.Height + (TextBox.Font.Height * 0.5)))
        End If
End Sub

Примечание: он не работает с деформацией слов.

0 голосов
/ 11 ноября 2009

В любом случае, чтобы получить эту функцию в TextBox?

Ну, да, но, возможно, вам придется заняться этим вручную. Graphic.MeasureString() функция может быть то, что вы ищете, чтобы правильно установить ширину.

Имейте в виду, что MeasureSting может иметь проблемы с измерением многострочных строк.

0 голосов
/ 11 ноября 2009

Если вы установите свойства привязки сверху, слева, снизу, справа, тогда элемент управления будет расти по мере изменения размеров формы.

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

0 голосов
/ 11 ноября 2009

Я не знаком с CanGrow. Вы ищете Anchor property возможно?

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