5.簡単なユーザーコントロールの作成方法(14_Ctr_05) (旧、SampleNo.138) |
1.簡単なユーザーコントロールの作成方法 2. 3. 4. 5. 6. |
下記プログラムコードに関する補足・注意事項 動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86 Option :[Compare Text] [Explicit On] [Infer On] [Strict On] Imports :追加なし 参照設定:追加なし その他 : : このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので) 必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい) |
1.簡単なユーザーコントロールの作成方法 |
1.通常の Windows フォームアプリケーションの作成画面で、[プロジェクト]→[ユーザーコントロールの追加]→ [ユーザーコントロール]を選択し、UserControl1.vb →PostalNoTextBox.vb に変更して[追加]をクリック 2.コードの表示で下記の部分を変更してください。 3.変更すると下記の部分でエラーの波線が表示されるので、コメントにしておいて下さい。 4.PostalNoTextBox.vb のコードの表示で表示される場面で下記のテストコードを記入して下さい。 Public Class PostalNoTextBox 'イベントを処理するデリゲートを定義 Public Delegate Sub CheckInputHandler(ByVal sender As Object, ByVal e As EventArgs) '不正な書式で入力された場合発生するイベントを定義 Public Event CheckInput As CheckInputHandler '不正な書式があった時に発生するカスタムイベントを作成 Public Sub cmTextBox_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Validating Dim m As System.Text.RegularExpressions.Match = _ System.Text.RegularExpressions.Regex.Match(Me.Text, "^\d{3}-\d{4}$") '郵便番号 ' "^\d{2,6}[\-]?\d{0,4}[\-]?\d{4}$" '電話番号 ' "^[\w\.\-]+@[\w\-]+\.[\w\.\-]+$" 'メールアドレス ' "^(0|([1-9](\d{0,2})((,\d{3}){0,2})))$" '3桁区切り If m.Success = False Then 'イベントを発生 RaiseEvent CheckInput(Me, New EventArgs) End If End Sub End Class 5.上記コードを記入してエラー等が表示されなければ、一旦ビルドして下さい。 問題がなければ、ツールボックスの上の方に、PostalNoTextBox コントロールが作成されているはずですから それを Form に配置して下さい。 6.配置したら、PostalNoTextBox1_CheckInput というイベントが作成されているのでそこに下記コードを書いて 入力テストをしてみて下さい。 Private Sub PostalNoTextBox1_CheckInput(sender As Object, e As EventArgs) Handles PostalNoTextBox1.CheckInput '作成したイベント(不正な書式があった時に発生するイベント) MessageBox.Show("郵便番号の書式が不正です。") PostalNoTextBox1.Focus() End Sub おことわり 上記は、郵便番号入力用の TextBox のを作成するのが目的ではありませんので誤解なきように願います。 4.既存のコントロールを継承した独自のコントロールを作成する方法 もほぼ同様の方法で作成しておりますので参考にして下さい 又、MSDN のユーザーコントロールの作成 http://msdn.microsoft.com/ja-jp/library/cc437705(v=vs.71).aspx や WEB 上で[ユーザーコントロール 作成]をキーに検索すれば、色々サンプルや作成方法の解説の記載がみつかります。 |
2. |
3. |
4. |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |
コントロールの背景を透過にする 透明な背景色 背景色を透明 |