たまにはデジタル丁稚の本領発揮な記事もあげとくよー。
一度はやってみたかった、オープンソースだよー。
万人の役に立つわけじゃないけど、ごく限られた人には、作業軽減になるかもねーならないかもねー。
------------------------------------------------------------------------------------
◇PermTextBox-入力可能文字指定可能テキストボックス
特徴
許可された文字以外入力できないテキストボックス。それだけ。
入力できない文字は、コピペでも入力不可。
追加プロパティ
public char[] PermitChars { get; set; }
入力可能な文字を設定/取得
使い方
貼るだけ。
keypressで入力値を取捨選択すれば、普通のテキストボックスでも可能なんですが、
プロパティで設定できたらいいことあるかなと、専用のコントロールを作成。
ダウンロードはこちら
http://nagisa.okoshi-yasu.net/open%20source/PermTextBox.zip
------------------------------------------------------------------------------------
◇SerialPortList-シリアルポート一覧表示コンボボックス
特徴
・PCに存在するシリアルポートを自動で取得し、一覧として表示するコンボボックス。それだけ。
・サイズの自動調整に対応しており、リストのフォント変更、コントロールのサイズ変更に応じて、自動的に最適なサイズに変更される。
追加プロパティ
public Font ListBoxFont { get; set; }
リストボックスのフォント設定/取得
設定時、サイズに応じてコントロールのサイズが変化します。
public string ListBoxText { get; set; }
リストボックスのテキスト設定/取得
選択されているポート名を取得する時に使用します。
使い方
貼るだけ。
リスト化されていたら便利かなと、専用のコントロールを作成。
自分で作っておきながらアレだけど、日の目を見た記憶が無い。
ダウンロードはこちら
http://nagisa.okoshi-yasu.net/open%20source/SerialPortList.zip
------------------------------------------------------------------------------------
◇Clock-時計
特徴
・現在の日時をラベルに表示する。1秒ごとに変化。それだけ。
・datetimeの書式指定文字列に対応しており、日時のフォーマットをプロパティで指定可能。
追加プロパティ
public Font ClockFont { get; set; }
時計表示のフォント設定/取得
public string ClockFormat { get; set; }
表示形式の設定/取得 デフォルトは"F"(yyyy年MM月dd日 hh:mm:ss)
使い方
貼るだけ。
UIに時計を表示する事は多いけど、それのためにタイマーとラベルをいちいち用意するのが面倒で
一体化したものを作ってみました。
ダウンロードはこちら
http://nagisa.okoshi-yasu.net/open%20source/Clock.zip
------------------------------------------------------------------------------------
◇IPAddressControl-IPアドレス入力専用テキストボックス
特徴
・IP Address(IPV4)の入力に特化した、テキストボックス
地味にめんどくさい入力値のチェック(255以下であるか等)も、自動で行う
・1要素ずつにプロパティが設定されているので、好きな要素の設定/取得が可能
・サイズの自動調整に対応
各要素テキストボックスの、間隔などの指定が可能
追加プロパティ
public int Value1 { get; set; }
public int Value2 { get; set; }
public int Value3 { get; set; }
public int Value4 { get; set; }
各要素の設定/取得
範囲外の値の入力がされた場合は、例外FormatExceptionが返ります
public int TextBoxSpace { get; set; }
各要素の間隔の設定/取得
設定後、コントロール全体のサイズ調整を行います。
public Font TextBoxFont { get; set; }
各要素のフォントの設定/取得
設定後、コントロール全体のサイズ調整を行います。
使い方
貼るだけ。
昔はあった(古き良きMFCの時代)のに、いつの間にか無くなったIP Addressコントロール。
毎回テキストを組み合わせて自作するのは面倒なので、一体型のコントロールとして作りました。
ダウンロードはこちら
http://nagisa.okoshi-yasu.net/open%20source/IPAddressControl.zip
------------------------------------------------------------------------------------
◇TenKey-10キー
特徴
・登録したラベルに対し、10キーから入力が可能
各ラベルには、入力最大長、デフォルト値、数値チェックの有無が個別に設定可能
・上下ボタンにより、前後のラベルにフォーカスを移動させることが可能
また、上下ボタンの有無は自動、手動が選択可能。
・コールバック関数の登録により、入力値などのコードを受けることが可能
追加プロパティ
public eUpDownSetting UpDownSetting { get; set; }
上下ボタン表示方法を設定/取得
自動:登録したラベルが複数であれば表示。1個以下であれば非表示
手動:UpDownButtonVisbleに従う
public bool UpDownButtonVisble { get; set; }
上下ボタンの表示/非表示を設定/取得
UpDownSettingが自動の場合には無効
public Color TextFocusColor { get; set; }
選択状態であるオブジェクト(ラベル)の背景色を示します
public int TextBoxSpace { get; set; }
ボタン間隔の設定/取得
設定後、コントロール全体のサイズ調整を行います。
public Font ButtonFont
ボタンフォントの設定/取得
使い方例
◇ラベルの登録
label1、label2、label3を登録。
それぞれの設定は
label1 入力長制限なし,デフォルトは"",数値チェックなし
label2 入力は2桁まで,デフォルトは"",数値チェックあり
label3 入力は5桁まで、デフォルトは"0",数値チェックあり
デフォルト:未入力でフォーカスを外した場合等に使用します。
数値チェック:trueの場合は入力値がゼロサプレスされます ex."01"->"1"
TenKey.TenKey.InitSetting[] wk = { new TenKey.TenKey.InitSetting(label1, 0, "", false),
new TenKey.TenKey.InitSetting(label2, 2, "", true),
new TenKey.TenKey.InitSetting(label3, 5, "0", true),
};
tenKey1.SetInitSetting(wk);
◇コールバックの登録
登録例
private void Form1_Load(object sender, EventArgs e)
{
//登録
tenKey1.SetCallBack(new TenKey.TenKey.CallBack(EventTimingCallBack));
}
//コールバック関数
private void EventTimingCallBack(TenKey.TenKey.ResEvent code)
{
//0ボタンが押された?
if (code == TenKey.TenKey.ResEvent.NUM0_BTN)
{
}
}
UI制御にタッチパネルを採用している製品は、たとえメンテナンスといえども、
キーボードの使用が許されない事が多い。
大体決まったフォーマットの10キーが毎回必要になるので、一体型の10キーコントロールを作成。
また、タッチパネルで押下するためには、マウスよりもボタンを大きくする必要があるが、
一つ一つのボタンを個別に設定なんて、やってられんので、一括で自動的にサイズを変化させるよう対応
ダウンロードはこちら
http://nagisa.okoshi-yasu.net/open%20source/TenKey.zip
------------------------------------------------------------------------------------
◇SizableNumericUpDown ボタンサイズの変更が可能な数値ボックス(自作numericUpDown)
タッチパネルで操作することを想定した、SizableNumericUpDownオブジェクト風カスタムコントロール。
特徴
・数値の選択にはnumericUpDownが便利だけど、上下のボタンサイズが極小。
これをタッチパネルで操作しようなんてのは、相当心が広い人でないと不可能。
そこで、2つのボタンとテキストボックスを合体し、自作numericUpDownを作成し、
各コントロールの配置やサイズを、自由に変更できるようにした。
プロパティ
public Size UpButtonSize
▲ボタンのサイズ設定/取得
public Point UpButtonLocation
▲ボタンの位置設定/取得
public Font UpButtonFont
▲ボタンのフォント設定/取得
public Size DownButtonSize
▼ボタンのサイズ設定/取得
public Point DownButtonLocation
▼ボタンの位置設定/取得
public Font DownButtonFont
▼ボタンのフォント設定/取得
public int TextBoxXSize
テキストボックスの横幅設定/取得
public Point TextBoxLocation
テキストボックスの位置設定/取得
public Font TextBoxFont
テキストボックスのフォント設定/取得
public int Maximum
数値の最大値設定/取得
異常な設定の場合はFormatException()を返します。
public int Minimum
数値の最小値設定/取得
異常な設定の場合はFormatException()を返します。
public int Value
現在値の設定/取得
異常な設定の場合はFormatException()を返します。
public int RepeatFirstInterval
初回リピート開始時間(ボタン押下からリピート開始までの待ち時間)設定/取得(単位:ms)
public int RepeatInterval
リピート間隔時間(初回以降のリピート実行時間)設定/取得(単位:ms)
public uint Increment
▲▼押下時の、値の増減量設定/取得
ダウンロードはこちら
http://nagisa.okoshi-yasu.net/open%20source/SizableNumericUpDown.zip
まぁぶっちゃけ、5分もあれば作れるものばかりかもしれませんが、カスタムコントロールの作り方が分かるかもしれないし、そうやって学んだ若き英雄が、さらに便利なものを作ってくれるかもしれないしね。
浅学の老兵による、技術提供でした。
一度はやってみたかった、オープンソースだよー。
万人の役に立つわけじゃないけど、ごく限られた人には、作業軽減になるかもねーならないかもねー。
------------------------------------------------------------------------------------
◇PermTextBox-入力可能文字指定可能テキストボックス
特徴
許可された文字以外入力できないテキストボックス。それだけ。
入力できない文字は、コピペでも入力不可。
追加プロパティ
public char[] PermitChars { get; set; }
入力可能な文字を設定/取得
使い方
貼るだけ。
keypressで入力値を取捨選択すれば、普通のテキストボックスでも可能なんですが、
プロパティで設定できたらいいことあるかなと、専用のコントロールを作成。
ダウンロードはこちら
http://nagisa.okoshi-yasu.net/open%20source/PermTextBox.zip
------------------------------------------------------------------------------------
◇SerialPortList-シリアルポート一覧表示コンボボックス
特徴
・PCに存在するシリアルポートを自動で取得し、一覧として表示するコンボボックス。それだけ。
・サイズの自動調整に対応しており、リストのフォント変更、コントロールのサイズ変更に応じて、自動的に最適なサイズに変更される。
追加プロパティ
public Font ListBoxFont { get; set; }
リストボックスのフォント設定/取得
設定時、サイズに応じてコントロールのサイズが変化します。
public string ListBoxText { get; set; }
リストボックスのテキスト設定/取得
選択されているポート名を取得する時に使用します。
使い方
貼るだけ。
リスト化されていたら便利かなと、専用のコントロールを作成。
自分で作っておきながらアレだけど、日の目を見た記憶が無い。
ダウンロードはこちら
http://nagisa.okoshi-yasu.net/open%20source/SerialPortList.zip
------------------------------------------------------------------------------------
◇Clock-時計
特徴
・現在の日時をラベルに表示する。1秒ごとに変化。それだけ。
・datetimeの書式指定文字列に対応しており、日時のフォーマットをプロパティで指定可能。
追加プロパティ
public Font ClockFont { get; set; }
時計表示のフォント設定/取得
public string ClockFormat { get; set; }
表示形式の設定/取得 デフォルトは"F"(yyyy年MM月dd日 hh:mm:ss)
使い方
貼るだけ。
UIに時計を表示する事は多いけど、それのためにタイマーとラベルをいちいち用意するのが面倒で
一体化したものを作ってみました。
ダウンロードはこちら
http://nagisa.okoshi-yasu.net/open%20source/Clock.zip
------------------------------------------------------------------------------------
◇IPAddressControl-IPアドレス入力専用テキストボックス
特徴
・IP Address(IPV4)の入力に特化した、テキストボックス
地味にめんどくさい入力値のチェック(255以下であるか等)も、自動で行う
・1要素ずつにプロパティが設定されているので、好きな要素の設定/取得が可能
・サイズの自動調整に対応
各要素テキストボックスの、間隔などの指定が可能
追加プロパティ
public int Value1 { get; set; }
public int Value2 { get; set; }
public int Value3 { get; set; }
public int Value4 { get; set; }
各要素の設定/取得
範囲外の値の入力がされた場合は、例外FormatExceptionが返ります
public int TextBoxSpace { get; set; }
各要素の間隔の設定/取得
設定後、コントロール全体のサイズ調整を行います。
public Font TextBoxFont { get; set; }
各要素のフォントの設定/取得
設定後、コントロール全体のサイズ調整を行います。
使い方
貼るだけ。
昔はあった(古き良きMFCの時代)のに、いつの間にか無くなったIP Addressコントロール。
毎回テキストを組み合わせて自作するのは面倒なので、一体型のコントロールとして作りました。
ダウンロードはこちら
http://nagisa.okoshi-yasu.net/open%20source/IPAddressControl.zip
------------------------------------------------------------------------------------
◇TenKey-10キー
特徴
・登録したラベルに対し、10キーから入力が可能
各ラベルには、入力最大長、デフォルト値、数値チェックの有無が個別に設定可能
・上下ボタンにより、前後のラベルにフォーカスを移動させることが可能
また、上下ボタンの有無は自動、手動が選択可能。
・コールバック関数の登録により、入力値などのコードを受けることが可能
追加プロパティ
public eUpDownSetting UpDownSetting { get; set; }
上下ボタン表示方法を設定/取得
自動:登録したラベルが複数であれば表示。1個以下であれば非表示
手動:UpDownButtonVisbleに従う
public bool UpDownButtonVisble { get; set; }
上下ボタンの表示/非表示を設定/取得
UpDownSettingが自動の場合には無効
public Color TextFocusColor { get; set; }
選択状態であるオブジェクト(ラベル)の背景色を示します
public int TextBoxSpace { get; set; }
ボタン間隔の設定/取得
設定後、コントロール全体のサイズ調整を行います。
public Font ButtonFont
ボタンフォントの設定/取得
使い方例
◇ラベルの登録
label1、label2、label3を登録。
それぞれの設定は
label1 入力長制限なし,デフォルトは"",数値チェックなし
label2 入力は2桁まで,デフォルトは"",数値チェックあり
label3 入力は5桁まで、デフォルトは"0",数値チェックあり
デフォルト:未入力でフォーカスを外した場合等に使用します。
数値チェック:trueの場合は入力値がゼロサプレスされます ex."01"->"1"
TenKey.TenKey.InitSetting[] wk = { new TenKey.TenKey.InitSetting(label1, 0, "", false),
new TenKey.TenKey.InitSetting(label2, 2, "", true),
new TenKey.TenKey.InitSetting(label3, 5, "0", true),
};
tenKey1.SetInitSetting(wk);
◇コールバックの登録
登録例
private void Form1_Load(object sender, EventArgs e)
{
//登録
tenKey1.SetCallBack(new TenKey.TenKey.CallBack(EventTimingCallBack));
}
//コールバック関数
private void EventTimingCallBack(TenKey.TenKey.ResEvent code)
{
//0ボタンが押された?
if (code == TenKey.TenKey.ResEvent.NUM0_BTN)
{
}
}
UI制御にタッチパネルを採用している製品は、たとえメンテナンスといえども、
キーボードの使用が許されない事が多い。
大体決まったフォーマットの10キーが毎回必要になるので、一体型の10キーコントロールを作成。
また、タッチパネルで押下するためには、マウスよりもボタンを大きくする必要があるが、
一つ一つのボタンを個別に設定なんて、やってられんので、一括で自動的にサイズを変化させるよう対応
ダウンロードはこちら
http://nagisa.okoshi-yasu.net/open%20source/TenKey.zip
------------------------------------------------------------------------------------
◇SizableNumericUpDown ボタンサイズの変更が可能な数値ボックス(自作numericUpDown)
タッチパネルで操作することを想定した、SizableNumericUpDownオブジェクト風カスタムコントロール。
特徴
・数値の選択にはnumericUpDownが便利だけど、上下のボタンサイズが極小。
これをタッチパネルで操作しようなんてのは、相当心が広い人でないと不可能。
そこで、2つのボタンとテキストボックスを合体し、自作numericUpDownを作成し、
各コントロールの配置やサイズを、自由に変更できるようにした。
プロパティ
public Size UpButtonSize
▲ボタンのサイズ設定/取得
public Point UpButtonLocation
▲ボタンの位置設定/取得
public Font UpButtonFont
▲ボタンのフォント設定/取得
public Size DownButtonSize
▼ボタンのサイズ設定/取得
public Point DownButtonLocation
▼ボタンの位置設定/取得
public Font DownButtonFont
▼ボタンのフォント設定/取得
public int TextBoxXSize
テキストボックスの横幅設定/取得
public Point TextBoxLocation
テキストボックスの位置設定/取得
public Font TextBoxFont
テキストボックスのフォント設定/取得
public int Maximum
数値の最大値設定/取得
異常な設定の場合はFormatException()を返します。
public int Minimum
数値の最小値設定/取得
異常な設定の場合はFormatException()を返します。
public int Value
現在値の設定/取得
異常な設定の場合はFormatException()を返します。
public int RepeatFirstInterval
初回リピート開始時間(ボタン押下からリピート開始までの待ち時間)設定/取得(単位:ms)
public int RepeatInterval
リピート間隔時間(初回以降のリピート実行時間)設定/取得(単位:ms)
public uint Increment
▲▼押下時の、値の増減量設定/取得
ダウンロードはこちら
http://nagisa.okoshi-yasu.net/open%20source/SizableNumericUpDown.zip
まぁぶっちゃけ、5分もあれば作れるものばかりかもしれませんが、カスタムコントロールの作り方が分かるかもしれないし、そうやって学んだ若き英雄が、さらに便利なものを作ってくれるかもしれないしね。
浅学の老兵による、技術提供でした。