タイトル : Re^2: MSFlexGridの誤作動? 投稿日 : 2005/09/09(Fri) 16:04 投稿者 : 初心者です
[OSのVer]:Windows [VBのVer]:VB.NET > LostFocus のヘルプに下記のように記入しています。 > > LostFocus イベント ハンドラの中からフォーカスを > 設定しないでください。 > フォーカスを設定すると、アプリケーションやオペレーティング > システムが応答を停止することがあります。 花ちゃんさん、返信ありがとうございます。 ヘルプで確認しておりましたが、.NETのLeaveイベントがVB6でいうLostFocusにあたるということなので、VB6のMSFlexGrid使用が何か関連がないか試しにやってみました。(結果は同じでした・・・) フォームのActiveControlプロパティを見たところ、TextBox1.Focus()でTextBox1がアクティブになります が、Leaveイベントを抜けた瞬間、MSFlexGridがアクディブになりTextBoxのLeaveイベントが走るという無限ループになっているようです。 1.TextBox1に入力(TextBox1がアクディブ) ↓ 2.MSFlexGridをクリックによりLeaveイベントが走る(MSFlexGridがアクディブ) ↓ 3.エラーによりTextBox1にFocus(TextBox1がアクディブ) ↓ 4.Leaveイベントを抜ける(なぜかMSFlexGridがアクディブ) ↓ 5.またTextBox1のLeaveイベントが走る あとは4、5の繰り返しです。 走っているイベントが特定できればどうにか回避できると思うのですが、未だ特定するにいたってません。 解決策はあるのでしょうか。 |