Подскажите, пожалуйста, что неправильно в моем коде:
| Код | Private Sub txtNameFilesTemplate_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtNameFilesTemplate.LostFocus 'если при потере фокуса текстовое поле осталось пустым, 'то возвращаем на место надпись "введите шаблон имен файлов" If txtNameFilesTemplate.Text = "" Then txtNameFilesTemplate.Font = New Font(Me.Font, FontStyle.Italic) txtNameFilesTemplate.ForeColor = Color.FromKnownColor(KnownColor.InactiveCaptionText) txtNameFilesTemplate.Text = "введите шаблон имен файлов" End If End Sub |
Дело в следующем: Мне нужно в текстовом поле указать пользователю, что он туда должен вводить (см. аттач). Разумеется, что сам текст, который является указанием пользователю, при нажатии на поле должен исчезать и появляться вновь лишь в том случае, если пользователь в это поле ничего не ввел. И поэтому текст при вторичном появлении должен восстановить свои свойства: шрифт, начертание (bold, italic, underline), размер, цвет. Я в окне дизайна формы задал в свойствах, что текст должен иметь тот же шрифт, что и на всей форме, но курсивное начертание. Цвет - InactiveCaptionText. Затем в процедуре обработки нажатия на поле я задал, что текст должен пропасть (т.е. txtNameFilesTemplate.Text = ""), и его курсивное начертание смениться на обычное (как у остальных надписей на форме), а цвет надписи (ForeColor) - на WindowText (также как на форме), чтобы данные пользователя уже имели бы такой же вид, как все остальные надписи на форме. После этого, текст почему-то не хочет выводиться с курсивным начертанием и цветом InactiveCaptionText. Уважаемые знатоки, внимание: вопрос! Почему? |