tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re: 検索画面が正常に表示されない
投稿日: 2004/03/01(Mon) 22:37
投稿者たくボン
共通Dll.clsMainやClass3の中身がないのでなんとも言えないのですが、GetFocusを使用されているから
です。検索ダイアログが表示されたときにTextBox1からFocusが移動、ダイアログにFocusが移動。最後

> TextBox1.Text = strRet1
この部分で再度GetFocusが発生ですね。下のようなサンプルでも同様の現象は発生します(点滅すると
いうことは、共通Dllの中でスレッド処理してるような感じがするんですが・・・)

Private Sub TextBox1_GotFocus( _
    ByVal sender As Object, ByVal e As System.EventArgs _
    ) Handles TextBox1.GotFocus
    Dim f6 As New Form2
    Console.WriteLine("TextBox1_GotFocus")
    Console.WriteLine("Show Form")
    f6.Show()
    TextBox1.Text = f6.Text
End Sub

Private Sub TextBox1_LostFocus( _
            ByVal sender As Object, ByVal e As System.EventArgs _
            ) Handles TextBox1.LostFocus
    Console.WriteLine("TextBox1_GotFocus")
End Sub

回避方法としては、
1.GotFocusで処理しない。
2.フラグ変数で、ダイアログを一度表示したら2度目のGetFocusを処理しない。
なんかがありますね。
個人的には、このようなコードは嫌いなので極力さけますが・・・。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。