Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.07.2012, 15:26   #1
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию курсор в TextBox-е формы

еще раз всем привет))

подскажите пожалуйста, как в форме сделать так, чтобы при ее открытии курсор сразу в TextBox-е был и можно было вводить что-то в него

вот пример файла:test.rar

Последний раз редактировалось Bape}l{ka; 12.07.2012 в 12:56.
Bape}l{ka вне форума Ответить с цитированием
Старый 11.07.2012, 15:33   #2
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Могли бы из той темы взять ответ :-)

TextBox1.SetFocus
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 11.07.2012, 16:04   #3
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию

сори, я потом только увидела =ь
Bape}l{ka вне форума Ответить с цитированием
Старый 11.07.2012, 16:29   #4
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию

не получается! Т_Т
когда только открываешь форму, фокус устанавливается.
а потом при нажатии кнопки идет обновление той же самой формы, и уже опять установить фокус не получается Т_Т
как поступать в данном случае?

(я ведь помню, что раньше пробовала SetFocus. видимо на этом и застопорилась Т_Т)
Bape}l{ka вне форума Ответить с цитированием
Старый 11.07.2012, 17:01   #5
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

У формы помимо Initialize есть еще методы: Activate, Click и пр. На них тоже надо повесить событие установки курсора на контрол.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 11.07.2012, 17:50   #6
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию

честно говоря, не поняла

у меня получается, что фокус устанавливается через раз, сначала в TextBox, потом на кнопке "Вперед", потом опять на TextBox и т.д.
мне кажется это что-то связано с TabIndex и переходами по табу (1-й на TextBox-е, 2-й на кнопке, везде нули проставить не получается).. но может и нет
Код:
Private Sub cbNext_Click()
    buttonNextPrev% = 1 'активна кнопка "Вперед"
    Call Telo
End Sub

Private Sub tbVvod_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 9 Or KeyCode = vbKeyReturn Then      'если нажали энтер
        Call cbNext_Click
    End If
End Sub


Private Sub Telo()
Dim k%
    'активна кнопка "Вперед"
    If buttonNextPrev% = 1 Then
        'заносим данные из формы в БД
        If Colm_ <> 1 Then
            Cells(Roww_, Colm_) = tbVvod.Value
            tbVvod.Value = ""
        End If
    End If
 
 With ActiveWorkbook.ActiveSheet
    Colm_ = Colm_ + buttonNextPrev
    .Cells(Roww_, Colm_).Select

    'регулируем видимость элементов формы
    If z = True Then
        'FrameQ.Visible = True
        FrameVar.Visible = True
        'LabelVar.Visible = True
        ''FrameVvod.Visible = True
        tbVvod.Visible = True
        z = False
    End If

'...еще какие-то операции с листом...

 End With
    tbVvod.SetFocus
End Sub

Последний раз редактировалось Bape}l{ka; 12.07.2012 в 10:49.
Bape}l{ka вне форума Ответить с цитированием
Старый 11.07.2012, 23:01   #7
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Еще раз: у формы есть события.
Initialize - происходит в момент первого открытия формы.
Activate - происходит в момент активации. Т.е. если на Activate повесить TextBox1.SetFocus, то фокус будет установлен в TextBox1 не только при первом открытии формы, но и при переходе с одной формы на другую. Сейчас у Вас данные события вообще не обрабатываются. Вставьте в тело формы:
Код:
Private Sub UserForm_Activate()
      tbVvod.SetFocus
End Sub
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 12.07.2012, 10:46   #8
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию

The_Prist
Цитата:
Private Sub UserForm_Activate()
tbVvod.SetFocus
End Sub
та же фигня.. курсор в текстбоксе через раз появляется Т_Т

вообще-то у меня Sub Telo запускается каждый раз при обновлении формы, так что фокус каждый раз вроде как должен устанавливаться (соответствующая команда присутствует). Почему он перескакивает сам на кнопку - не понятно О,о
Bape}l{ka вне форума Ответить с цитированием
Старый 12.07.2012, 11:33   #9
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Тогда выкладывайте свой файл - так не понять причину.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 12.07.2012, 12:57   #10
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию

пример файла положила в первый пост
Bape}l{ka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из textBox в ListView, разные формы Spr1nGfi3Ld Windows Forms 2 02.04.2012 12:43
установить курсор в TextBox segail Microsoft Office Excel 4 12.09.2010 18:46
Скрыть курсор в поле формы VistaSV30 Microsoft Office Access 0 25.05.2010 12:37
Изменить курсор при перемещении формы Nester Общие вопросы Delphi 11 28.09.2009 18:29
TextBox как отменить курсор LeGAl Общие вопросы .NET 4 30.04.2009 01:51