Доброе Уважаемые форумчане. Меня мучает один вопрос и я решил спросить опытных людей.
У меня есть много текстбоксов в итоге их будет около 30 в каждом текст боксе буду свои правила форматирования текста. Вопрос в следующем. В данном случае есть ли смысл в переменных? я имею в виду не глупо будет присваивать переменной txt_surname, как вообще делают в таких случаях опытные люди?
Код
Dim Фамилия As String = txt_surname.Text
плохо что я использую русские имена для переменных? есть ли в этом смысл, возможно в такой ситуации переменная это просто лишнее? возможно такое действие благотворно влияет на программу и операции будут проходить быстрее?
В качестве примера приведу программный которым я сейчас занимаюсь (особая благодарность Ігор Гончаренко)
Код
' *****************************************************************************
' ComboBox Кызы \ Оглы
'
Private Sub cbo_kz_og_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If cbo_kz_og.Text = "" Then lbl_kz_og.Visible = True
End Sub
Private Sub cbo_kz_og_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyTab Then Exit Sub
If lbl_kz_og.Visible = True Then lbl_kz_og.Visible = False
End Sub
' *****************************************************************************
' TextBox Фамилия
'
Private Sub txt_surname_Enter()
ВключитьРусскуюРаскладку
End Sub
Private Sub txt_Surname_Change()
If txt_surname.Text <> "" Then txt_surname.Text = Up1Letter(txt_surname.Text)
End Sub
Private Sub txt_Surname_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If txt_surname.Text = "" Then lbl_surname.Visible = True
txt_surname = Trim(txt_surname)
End Sub
Private Sub txt_surname_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyTab Then Exit Sub
If lbl_surname.Visible = True Then lbl_surname.Visible = False
If KeyCode = vbKeyDelete Then
If txt_surname > "" Then
txt_surname.Value = ""
End If
End If
End Sub
' *****************************************************************************
' TextBox Имя
'
Private Sub txt_name_Enter()
ВключитьРусскуюРаскладку
End Sub
Private Sub txt_name_Change()
If txt_name.Text <> "" Then txt_name.Text = Up1Letter(txt_name.Text)
End Sub
Private Sub txt_name_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If txt_name.Text = "" Then lbl_name.Visible = True
End Sub
Private Sub txt_name_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyTab Then Exit Sub
If lbl_name.Visible = True Then lbl_name.Visible = False
If KeyCode = vbKeyDelete Then
If txt_name > "" Then
txt_name.Value = ""
End If
End If
End Sub
не знаю как делают опытные люди, а я стараюсь избегать: - обявлений и использования лишних переменных - использования в именанх переменных кириллицы
и 30 текстбоксов - это что-то многовато. Вы встречались с такими формами в жизни, попадались они Вам на глаза (кроме тех, что написали Вы) это неудобно ни пользователю, который потеряется в этом изобилии, ни программисту, которому нужно еще каждого из этих текстбоксов "обучить" корректной работе старайтесь обходиться только тем, без чего никак не обойтись, но, конкечно, не в ущерб удобств использования того что вы делаете конечным пользователем.
и название придумайте Вашей теме, а то ее закроют.