2016-05-04 13 views
0

Windowsフォームでは、ボタンと2つのテキストボックスがあります。ボタンをクリックすると、カーソルを保持しているテキストボックスのカーソル位置にテキストを追加します。カーソル位置のテキストボックスにテキストを挿入するのは簡単です。しかし2つのテキストボックス、vb.netテキストをアクティブなテキストボックスに挿入

私は現在で入力されているテキストボックスを決定、その後私は、ボタンをクリックしたときのように、ボタンにフォーカスジャンプするフォーカス特性を考える...

私の質問で、どのように "最後に焦点を当てたコントロール"を知っている..またはとにかくテキストボックスがテキスト化されているかどうかを知るために?

答えて

0

何の作り付けのLastFocusedTextBoxプロパティがありません。覚えておくのはあなた次第です。

Private lastFocusedTextBox As TextBox 

Private Sub TextBoxes_Enter(sender As Object, e As EventArgs) Handles TextBox1.Enter, TextBox2.Enter 
    lastFocusedTextBox = DirectCast(sender, TextBox) 
End Sub 

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    If lastFocusedTextBox IsNot Nothing Then 
     lastFocusedTextBox.SelectedText = "Hello World" 
    End If 
End Sub 

あなたは状況下でちょうど同様Leaveイベントを使用しますが、Enterを使用すると、そのTextBoxがあまりにも集中している間lastFocusedTextBoxは、コード内の正しい値が含まれることを意味でした。

+0

ありがとうございました。これは私のために、特に私がフォームのすべてのテキストボックスを通過する必要はありません。 – HaPhan

0

あなたは最後のTextBoxのフォーカスをチェックするためにフラグを使用することができます。 例:

Dim iTxt=0 
Private Sub txt1_MouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles txtFile.MouseClick 
iTxt=1 
    End Sub 
Private Sub txt2_MouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles txtFile.MouseClick 
iTxt=2 
    End Sub 
関連する問題