Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB .NET > Не могу вернуть назад курсив и другой цвет


Автор: Darth_Sidious 16.6.2008, 11:56
Подскажите, пожалуйста, что неправильно в моем коде:
Код
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. Уважаемые знатоки, внимание: вопрос! Почему?

Автор: Dennnis 20.6.2008, 21:16
Я тебе рекомендую сделать как в примере.

Автор: Darth_Sidious 7.7.2008, 14:39
Спасибо большое. Единственное только, пользователю придется дважды нажимать: сначала на лейбл, чтоб он исчез, потом на текстбокс.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)