質問編集履歴

2

補足の追加

2016/03/29 16:32

投稿

msssk
msssk

スコア12

test CHANGED
File without changes
test CHANGED
@@ -78,9 +78,11 @@
78
78
 
79
79
  ▼1.全ての入力コントロールをクラス宣言してイベント発生させるのに意味が見出せませんが、
80
80
 
81
- 少なくても共通イベントを持たない かつ チェックボックスやラジオボタン以外も積極的に
81
+ 少なくても共通イベントを持たない かつ チェックボックスやラジオボタン以外
82
82
 
83
- クラス変数化するのは、どのようなメリットがあるのでしょうか。
83
+ 積極的にクラス変数化するのは、どのようなメリットがあるのでしょうか。
84
+
85
+ (イベントの追加・解除が必要な画面でならばHandlesのよるイベントハンドラーは解決できない場合もあり!?)
84
86
 
85
87
 
86
88
 

1

例の追加

2016/03/29 16:32

投稿

msssk
msssk

スコア12

test CHANGED
File without changes
test CHANGED
@@ -6,9 +6,61 @@
6
6
 
7
7
  画面のテキストボックスやチェックボックス等の全ての入力コントロールを、
8
8
 
9
- イベント宣言されたクラス変数としてクラス変数で保持しており、
9
+ イベント宣言されたインタンス変数、またはコントロール配列の変数で保持しており、
10
10
 
11
11
  各イベントはそのクラス変数に紐づいたイベントハンドラーをキックして処理します。
12
+
13
+ 処理や条件によりイベントハンドラーを付け替え、解除は行っていません。
14
+
15
+ (複雑な制御の必要のない画面の為)
16
+
17
+
18
+
19
+ ------------------------
20
+
21
+ (例:細かい部分が間違っていたらすいません)
22
+
23
+ Private WithEvents obj名前 as TextBox = txt名前
24
+
25
+ Private WithEvents obj年齢 as TextBox = txt年齢
26
+
27
+ Private obj年代 as CheckBox() = New CheckBox(10)
28
+
29
+ ...
30
+
31
+
32
+
33
+ Public Sub New()
34
+
35
+ Dim i As Integer
36
+
37
+ For i = 0 To 9
38
+
39
+ AddHandler obj年代(i).KeyPress, AddressOf test_CheckedChanged
40
+
41
+ Next
42
+
43
+ End Sub
44
+
45
+
46
+
47
+ Public Sub test_CheckedChanged(ByVal Object sender, ByVal EventArgs e)
48
+
49
+ ...
50
+
51
+ End Sub
52
+
53
+
54
+
55
+ Public Sub obj名前_LostFocus(ByVal Object sender, ByVal EventArgs e) Handles obj名前.LostFocus(
56
+
57
+ ...
58
+
59
+ End Sub
60
+
61
+
62
+
63
+ ------------------------
12
64
 
13
65
 
14
66
 
@@ -17,6 +69,8 @@
17
69
  ・VB6時代にコントロール配列があって、同グループのチェックボックスをループ処理などで纏めて処理する為の管理
18
70
 
19
71
  ・同一イベントハンドラーを複数コントロールに紐づけて処理させる為にコントロールをオブジェクト化
72
+
73
+ ・イベントハンドラーの動的な紐づけ
20
74
 
21
75
 
22
76