-1

フォーム(Form1)とリッチテキストボックス(RichBox1)があります。

テキストを追加できるオブジェクトがたくさんRichBox1 あり、他の2つのフォーム(Form2Form3

その場合、アプリケーションにフォーカスがない場合(たとえば、ユーザーが電卓を使用している場合)、ユーザーがを選択してアプリケーションにフォーカスを戻すと、ユーザーが使用していないときに新しいテキストを取得するForm2と、 Form1最初にフォーカスが取得されます。RichBox1

すべてのプロパティを確認しましたが、見つかりません。テキストボックスの.CanFocusは、読み取ることしかできないため、falseに設定することはできません。何か案は?

ありがとう

編集:追加しました:

this.GotFocus += new EventHandler(Form1_GotFocus);

このイベントはまったく発生しません。

他にもたくさんのコントロールがForm1あり、いくつかのラベル、ボタン、メニューストリップがあります。この動作の原因がわかりません。

編集2:

おそらく誰かがForm1これを引き起こしているものの追跡を開始するために提起するイベントを提案することができます。私はそれが関係していると思いますがRichBox1、今はよくわかりません。

編集3。

追加した: this.Activated += new EventHandler(Form1_GotFocus);

上記を行っても、このイベントは発生しません。おそらくこれは、アクティブ化されるForm2のではなく、フォーカスを失うことを意味しますか?Form1また、右クリックするとこの動作が表示されることにも注意してくださいForm2

4

1 に答える 1

0

Form Activated イベントを使用してみてください。私は小さなテストケースを作成しましたが、あなたの問題を再現することはできませんが、RichTextBox のテキストが変更されても Form2 を選択できる場合は、RichTextBox にフォーカスを設定するタイマーまたはイベントがないことを確認してください。

public Form1()
{
    InitializeComponent();
    this.Activated += new EventHandler(Form1_Activated);  
}

void Form1_Activated(object sender, EventArgs e)
{
    //Set the Focus to the Control that you want
    button1.Focus();
}
于 2012-12-23T02:15:23.563 に答える