C# WinForms を使用して、いくつかの機能を追加して TextBox を拡張しています。とりわけ、テキストボックスがフォーカスを得たときにテキストを強調表示しています。これは、ユーザーがコントロールをタブまたはクリックしたときに正常に機能します。ただし、OnFocus は、ウィンドウ全体がフォーカスを取得したときにも呼び出されます (別のアプリから別のアプリへの Alt + Tab キーなど)。これは望ましくありません。
フォーム全体がフォーカスを得たために onfocus() が呼び出されているかどうかを確認する方法はありますか?
ありがとう、
マイク
私の現在の OnFocus() は次のようになります。
protected void mTextBox_OnFocus(object sender, EventArgs e)
{
if (MouseButtons == MouseButtons.None)
{
mTextBox.SelectAll();
mHasFocus = true;
}
}