SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ComponentZine(InputMan)

マス目状入力機能を持った.NET アプリケーションを作る

InputMan for Windows Forms 5.0Jのキャラクタボックスコントロール「CharMask」を使ったアプリケーションの作成

  • このエントリーをはてなブックマークに追加

CharMaskコントロールのデザイン

 CharMaskコントロールのデザインでは、今説明したようにCharBoxオブジェクトのデザインが主な作業になります。フォームに配置したCharMaskコントロールのスマートタグから「キャラクターボックスの編集」を選ぶと、ダイアログボックスが表示されます。

スマートタグのメニュー
スマートタグのメニュー

 CharMaskコントロールは、デフォルトでは6つのInputBoxオブジェクトが組み込まれています。マス目を増やしたい場合は、「追加」または「挿入」ボタンを押し、リストから「InputBox」を選びます。リテラル文字やセパレータを追加する場合もこれらのボタンを使用します。

「キャラクターボックスの編集」ダイアログボックス
「キャラクターボックスの編集」ダイアログボックス

InputBoxのデザイン

 InputBoxは、ダイアログボックスの右ペインにあるプロパティウィンドウでデザインします。サイズは、Sizeプロパティで変更します。「AutoSize」プロパティを「False」にすると、好きなサイズに変更できます。Borderプロパティを使うと、罫線の線種変更や罫線の有無を設定できます。

罫線の設定
罫線の設定

 入力文字のフォント設定はFontプロパティで行います。

 Marginプロパティは、マス目の上下左右の間隔を設定します。デフォルトでは上下左右のマージンは0ですが、隣のマス目と間隔をあけたいときは、「Right」に値を設定します。

ここまでのマス目の設定
ここまでのマス目の設定

LiteralBoxとSeparatorBoxのデザイン

 基本的なプロパティ操作は、InputBoxと同じです。「AutoSize」プロパティを「False」にし、Sizeプロパティでサイズを変えます。LiteralBoxに文字を表示するにはTextプロパティを使用します。SeparatorBoxでは、Shapeプロパティで記号をCircleかRectangleのどちらかに設定します。

 また、どちらのオブジェクトも、「ContentAlignment」プロパティで表示文字や記号のオブジェクト内の位置を設定します。このプログラムでは、次のようにプロパティを設定しました。

InputBox AutoSize False
Margin 0, 0, 2, 0
Size 30, 30
Font-Size 12pt
Border-All Color [ActiveBorder], Double(先頭のInputBoxのみ設定)
LiteralBox ContentAlignment MiddleLeft
Font-Size 16pt
Font-Bold True
AutoSize False
Size 160,30
SeparatorBox Border-Bottom None
Left None
Top None
Size 10, 30

 InputBoxコントロールは全部で8個、LiteralBoxは1つ、SeparatorBoxは3桁ずつの区切り記号とするので、2つ追加します。

CharMaskコントロールの設定

 CharMaskコントロール全体のデザインは、CharMaskコントロールのプロパティを使用します。このプログラムでは、BackColorプロパティとBorderStyleプロパティで枠線なしの背景をフォームと同色にしています。

 また、コントロールをドラッグしてすべてのマス目が表示されるようにします。入力書式の設定は、スマートタグの「書式の設定」を選び表示されるダイアログボックスから、入力データの書式を選びます。

書式の設定ダイアログボックス
書式の設定ダイアログボックス

 これで、このコントロールは数字しか受けつけないようになります。なお、ExitOnLastCharプロパティをTrueにすると、データを入力すると次のフォーカスに自動的に移動するようになります。

フォームデザインの仕上げ

 作成したCharMaskコントロールをコピーし、全部で6つ配置します。そして、各コントロールのLiteralBoxに見出し文字列を設定します。

完成したフォーム
完成したフォーム

次のページ
計算処理

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
ComponentZine(InputMan)連載記事一覧

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3771 2009/04/03 12:09

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング