TextBoxがフォーカスを失うと選択表示が消える動作を防ぎたい
C#でTextBoxがフォーカスを失うと選択表示が消える動作を防ぐ手順を紹介します。
動作の確認
UI
下図のフォームを作成します。フォームにTextBoxを配置します。
動作確認
プロジェクトを実行します。下図のフォームが表示されます。
テキストボックスに文字列を入力します。
入力した文字列を選択します。
TextBoxから別のコントロールにフォーカスが移る、または、フォームが非アクティブになると、TextBoxの選択表示が見えなくなります。
フォーカスがTextBoxに移る、または、ウィンドウがアクティブ化するとTextBoxの選択状態が表示されます。
フォーカスを失うと選択表示が解除される動作を防ぐ
フォーカスを失った場合でも選択表示をする場合は、TextBox の HideSelection プロパティを変更します。
フォームデザイナで TextBox を選択し、プロパティウィンドウを表示します。HideSelection プロパティの値を確認します。デフォルトでは"True"に設定されています。
HideSelection プロパティの右側の値のコンボボックスをクリックします。下図のドロップダウンリストが表示されます。ドロップダウンリストから "False" の項目を選択します。もしくは、プロパティ値のエリアをダブルクリックしても値が変更できます。
HideSelection プロパティの値を"False"に変更しました。
実行結果
プロジェクトを実行します。下図のウィンドウが表示されます。
TextBoxに文字列を入力します。
入力した文字列を選択します。
TextBoxから別のコントロールにフォーカスが移る、または、フォームが非アクティブにしても、選択状態は表示されたままになります。
フォーカスがTextBoxに移る、または、ウィンドウがアクティブ化してもTextBoxの選択状態は変わりません。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用