フォームアプリでユーザーが数値入力だけ行える入力ボックスを用意したい場合に、コントロールを自作したり継承して改造せずに標準機能だけで実現しようと思うと主に2つの方法があるかと思います。 NumericUpDownを使う方法 1つは NumericUpDown コントロールを使う方法です。 こちらは数値入力のみ入力可能なコントロールで、最小値と最大値を指定するプロパティが用意されているため、容易に0の入力を無効にできます。 描画する線の太さや画像サイズなど 0を指定してはいけない場面は多いため便利です。 ただしいくつか面倒な点があり‥横の上下ボタンが不要な場合に非表示にすると背景画くり抜かれたような見た目になったり、数値を変更した際のイベント「ValueChanged」では数値を変更する前の値しか取得できないため変更後の値を取得するのに困ります‥(こちら勘違いだったり簡単な解決法があれば教え
![C# TextBoxを数値専用にする際のTIPS - ゲームエフェクトデザイナーのブログ | A Real-Time VFX Artist's Blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/518d065b79f0b54355b49ef642f66f3ed1d26981/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmoko_03_25%2F20200920%2F20200920162740.png)