TextBoxがフォーカスを失うと選択表示が消える動作を防ぎたい - C#

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を愛用
掲載日: 2017-06-26
iPentec all rights reserverd.