プログラムな日常>C#>
自作ボタンC#版
(new classes of customized buttons in C#)

暫くぶりの更新です。
以前スクロールバーについてもご紹介しましたが、C#では大抵のコントロールは基本のコントロールであるPanelを継承して作れます。
コントロールを自作できるようにしておくと、既存のコントロールの動作に不満足な場合のカスタマイズができて便利です。
今回はボタンを作ってみました。呼び出しプログラム(MyForm.cs)と、ボタン自体のソース(4種類)をご紹介しますので、 VisualStudio で Windows フォームアプリケーションの一つのプロジェクトとしてコンパイルしてみて下さい。 ちなみに、現状、私が使っているのは、Microsoft Visual Studio Community 2019 Version 16.8.5 の環境で .Net Framework 4.8.04161 によります。
実行時の見た目は以下のような感じです。

図: 概観


ボタンの種類ごとの機能は次のようです。

【C# ソースコード】

MyForm.cs(ボタンのデモ):


Button1_Imitated.cs(離すときに機能):


Button2_Pusheffective.cs(押すときに機能):


Button3_Automatic.cs(押すときと、押し続けるときに機能):


Button4_Direction.cs(基本が Button3_Automatic.cs と同じで、"W", "E", "N", "S" のみ矢印として表示):