- - PR -
VB.NET-MessageBoxから戻ったときのフォーカス
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-07-20 14:13
sonzaiと申します。
いつも当会議室で、有益な情報を閲覧させて頂いています。 ありがとうございます。 社内のプロジェクトで、初めて VB.NET を使用して、 システムを開発しようとしているのですが、 以下の現象が解決できずにいます。 ぜひお力添えを頂きたいとお思い、投稿しました。 環境 Windows2000 sp4 Microsoft Visual Basic .NET 2003 Microsoft .NET Framework 1.1 sp1 メインのフォームAから .Show() で、別のフォームBを表示します。 フォームA,Bには、テキストボックスがあります。 フォームBのテキストボックスから、MessageBoxを表示し、 MessageBoxからフォームBにフォーカスが戻ってきたときに、 フォームBのテキストボックスにカーソルが当たらないのです。 フォームB自体には、フォーカスが当たっています。 一方、フォームBを .Show() していない段階で、 フォームAのテキストボックスから、MessageBoxを表示し、 MessageBoxからフォームAにフォーカスが戻ってきたときは、 フォームAのテキストボックスにカーソルが当たります。 フォームB.Owner = フォームA や、 フォームA.AddOwnedForm (フォームB)を やってみたのですが、解決に至りませんでした。 解決方法はないのでしょうか? よろしくお願いします。 以下は、以上の現象を再現するサンプルプログラムです。 < フォームA > Public Class Form1 Inherits System.Windows.Forms.Form Private Sub TextBox1_KeyDown(ByVal sender As Object, _ ByVal e As System.Windows.Forms.KeyEventArgs) _ Handles TextBox1.KeyDown MessageBox.Show(Me, "test1") End Sub Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim form2 As Form form2 = New Form2 form2.Show() End Sub Private Sub Form1_Activated(ByVal sender As Object, _ ByVal e As System.EventArgs) _ Handles MyBase.Activated Me.TextBox1.Focus() End Sub End Class < フォームB > Public Class Form2 Inherits System.Windows.Forms.Form Private Sub TextBox1_KeyDown(ByVal sender As Object, _ ByVal e As System.Windows.Forms.KeyEventArgs) _ Handles TextBox1.KeyDown MessageBox.Show("test2") End Sub End Class |
1