Как заставить поле VB.NET TextBox иметь эффект FlatAppearance, такой как в Button? - PullRequest
0 голосов
/ 06 ноября 2011

Прежде всего, я надеюсь, что я правильно изложил свою проблему. Я нахожусь в процессе создания настольного приложения базы данных с использованием VB.NET. Я хочу, чтобы мой пользовательский интерфейс был похож на Microsoft Money. Теперь я хочу, чтобы все мои текстовые поля вели себя так:

  • квартира
  • не будет иметь границы, или, если на нем все еще находится мышь, граница будет выделена.

Вот и все. Я понимаю, что в TextButton у нас есть FlatAppearance, поэтому мы можем настроить все кнопки так, чтобы они вели себя так. Но то же самое не произошло для TextField.

Есть ли простая альтернатива решения этой проблемы?

Спасибо

Eko

1 Ответ

1 голос
/ 06 ноября 2011

Вы можете попробовать что-то вроде этого.

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        For Each control As Control In Me.Controls ' Check every control
            If control.GetType().Equals(GetType(TextBox)) Then ' Proceed if it is a TextBox
                Dim textBox As TextBox = control ' So we have the right type
                AddHandler textBox.MouseEnter, Sub() textBox.BorderStyle = BorderStyle.FixedSingle ' Mouse over state
                AddHandler textBox.MouseLeave, Sub() textBox.BorderStyle = BorderStyle.None ' Mouse away state
                textBox.BorderStyle = BorderStyle.None ' Set initial state
            End If
        Next
End Sub

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

Если вам нужно что-то еще, просто скажите,
Сэм.

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