C# RadioGroup継承以外での作成

継承ができない場合の RadioGroupの作成例です。

 機能追加したラジオボタン

ラジオボタンにインデックスをオブジェクト値を追加したオブジェクトを作成

RadioGroupの作成

呼び出し側

 

C# TextBox継承以外での入力制限

TextBoxの入力制御をする場合、継承しないで制御すると何度も同じ文を書くことになり効率が悪くなりますが、都合所継承しないで書かなければならない場合の書き方です。

TextBoxを継承しないで入力制御する方法を掲載します。

TextBox入力制御クラス

 

使用方法

[ENTER]キーにて処理をする場合、KeyDownの順番に注意が必要

1.textBox3_KeyDown

2.TextBoxUpper内のKeyDown

3.textBox3Last_KeyDown

の順番になります。のでtextBox_EnterFuncで処理をしています。

※クリップボードの禁止は、継承しないと出来ないようです。

 

C# テキストボックス(TextBox)入力制御

Visual Studio等でC#を使用してGUIアプリケーションを作成する場合に使用するTextBoxの説明です。

TextBoxで入力文字(数値・実数・カタカナ・ひらがな・全角文字・半角文字 など)制御をする際の例を記載します。

 

文字列制御関数

入力文字の制御を行いたい文字列の列挙体 InputTextType を作成します。以下の列挙体は例ですので、制御した文字列項目を追加作成して下さい。(列挙体を作成するのは汎用性をもたせるためです)

特定の文字列に含まれる文字(整数文字・全角カタカナ・TELなど)を判断する関数CheckChar()

特定の文字列を判断する関数CheckString()

を作成します。(文字チェック関数・文字列チェック関数を作成するのは、汎用性を持たせるためです)

※文字と文字列を判断する関数等の例(IsHalfDigitIsHalfDigitStr関数等は特定文字の判断をご覧ください)

 

半角数値入力制御の例

TextBoxの入力制御は、Enter・Leave・KeyPress・KeyDownイベントで制御します。

EnterとLeaveではおもに、[ENTER]キーではなく、マウスでフォーカス移動された時のために処理しています。

KeyPressでは、特定文字列に含まれる文字以外は、入力出来ないようにしています。

KeyDownでは、[ENTER]キーを押された場合と、特殊キー(ESC・↑・↓)の処理をしています。

CheckChar()・とCheckString()のInputTextType列挙体の値を変えることにより入力文字列を制御できます。

以上TextBoxでの入力制御の方法の例です。

※ちなみに以上の制御では、クリップボードによるコピーは避けられません。