VB6 - установить фокус на текстовое поле в другой форме - PullRequest
1 голос
/ 28 мая 2010

Я хочу установить фокус на текстовое поле в одной форме, из другой формы. Как мне сделать это в VB6?

Ответы [ 3 ]

2 голосов
/ 28 мая 2010

при условии, что у вас есть Form1 и Form2 с TextBox на Form2 в command1_click Form1-Modul:

Private Sub Command1_Click()
    Load Form2
    Form2.Show
    Form2.SetFocus
    If Form2.Text1.Visible And Form2.Text1.Enabled Then
        Form2.Text1.SetFocus
    End If
End Sub
0 голосов
/ 28 мая 2010

Предполагая, что FormA хочет установить фокус на Text1 на FormB, я думаю, вы могли бы просто сделать что-то вроде:

В FormB создайте подпункт с именем FocusOnText1, и в этом подпункте есть код Text1.SetFocus, а затем просто вызовите этот подпункт из FormA.

Хотя, как говорит Jangwenyi, вам нужно убедиться, что оно видно, поэтому я бы предложил добавить что-то вроде его оператора if в подпункте FocusOnText1, так как в противном случае вы можете получить ошибки (я думаю, ошибка 5).

0 голосов
/ 28 мая 2010

Нельзя установить фокус на текстовое поле другой формы, если эта форма не видна. Поэтому вам следует сначала проверить, видна ли форма

If (form2.Visible)
begin
 txtBox2.SetFocus()
end
...