回答編集履歴

2

説明追加

2016/05/31 15:44

投稿

KoichiSugiyama
KoichiSugiyama

スコア3041

test CHANGED
@@ -50,7 +50,7 @@
50
50
 
51
51
  this.BackColor = changecolor;
52
52
 
53
- // 本来のボタン処理
53
+ // 本来のボタンクリック処理
54
54
 
55
55
  base.OnClick(e);
56
56
 

1

具体的なコードを追加

2016/05/31 15:44

投稿

KoichiSugiyama
KoichiSugiyama

スコア3041

test CHANGED
@@ -5,3 +5,63 @@
5
5
 
6
6
 
7
7
  [ここ](https://msdn.microsoft.com/ja-jp/library/7h62478z(v=vs.110).aspx)に詳しい解説がありますので試してみてください。
8
+
9
+
10
+
11
+ [コメントへの回答]
12
+
13
+ MSDNの説明どおりに実装しているとすれば、あとは下記のコードを追加するればクリックすると色が変わるボタンコントロールができます。
14
+
15
+ ```C#
16
+
17
+ // 背景色用のプロパティ
18
+
19
+ protected Color changecolor = Color.FromArgb(255,0,0); // デフォルト赤
20
+
21
+ public Color ChangeColor
22
+
23
+ {
24
+
25
+ set
26
+
27
+ {
28
+
29
+ changecolor = value;
30
+
31
+ }
32
+
33
+ get
34
+
35
+ {
36
+
37
+ return changecolor;
38
+
39
+ }
40
+
41
+ }
42
+
43
+ // クリックイベント
44
+
45
+ protected override void OnClick(EventArgs e)
46
+
47
+ {
48
+
49
+ // 背景色の変更
50
+
51
+ this.BackColor = changecolor;
52
+
53
+ // 本来のボタン処理
54
+
55
+ base.OnClick(e);
56
+
57
+ }
58
+
59
+
60
+
61
+ ```
62
+
63
+ 上記のコードだと、クリックしたら色が変わりっぱなしになります。元に戻すのであれば、クリックイベントで現在の状態によって、色を変えるような処理を追加する必要があります。
64
+
65
+
66
+
67
+ ツールボックスに作成したカスタムコントロールが表示されますので、あとは通常のボタンコントロールのようにドラッグ&ドロップでフォームに貼り付けて使えます。