今回作るのは「カスタムコントロール」というものです。
まず、プロジェクト→ユーザーコントロールの追加→クラス→作成で、ここからコードを入力します。
Class NFButton
Inherits Button
Sub New()
SetStyle(ControlStyles.Selectable, False)
End Sub
End Class
これだけです。ここで一旦実行してください。これらの追加をVS本体に適用するためです。
すると、ツールボックスの中に「NFButton」というコントロールが追加されているはずなので、試しに追加してみてください。何の変哲もない「ただのボタン」ですね。まあ、おそらく最初なので「NFButton1」とか、違う名前ぐらいはついていると思います。それでは、このボタンを配置して、Textboxも配置してみましょう。配置が終わったら、試しに実行してみましょう。
押した後は、Textboxにフォーカスを当てたまま、ボタンを押してみてください。
どうですか?フォーカスが移らないはずです。(絶対ではないですが)
これで、「フォーカスが当たらないボタン、NFButton」、無事完成です。
用途としては、Focusが当たってほしくない時、例にすれば最初も言いましたがスクリーンキーボードとかで使えます。ちなみに、上記のコードを改造すれば、Pictureboxでも、Comboboxでも、Checkboxでも可能です。応用できることには間違いなしです。
おわり
※NFButtonという名前はNoFocusを略したNFとButtonでNFButtonという名称にしました。
※Labelコントロールでもできますが、Buttonコントロールと挙動や仕様が異なるため、Buttonコントロールにこだわる人はこの方法を使います。