回答編集履歴
1
より詳しく書いた
answer
CHANGED
@@ -28,4 +28,39 @@
|
|
28
28
|
|
29
29
|
これをビルドして実行すると、フォームサイズを変えてもButtonがフォームの真ん中に常に張り付く様子が観察されます。
|
30
30
|
|
31
|
-
TableLayoutPanel.Controls.Addメソッドには行インデックスと列インデックスを受け付けるオーバーロードがあるので、それを使えばコード上からでもButtonを右下のセルに入れることが可能です。
|
31
|
+
TableLayoutPanel.Controls.Addメソッドには行インデックスと列インデックスを受け付けるオーバーロードがあるので、それを使えばコード上からでもButtonを右下のセルに入れることが可能です。
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
#TableLayoutPanelはどうでしょう?(2)
|
38
|
+
|
39
|
+
先程のやり方はボタンの原点がパネルの中心と一致していましたが、そうではなくボタンの中心とパネルの中心を一致させたいのであれば、もうひと工夫が必要です。
|
40
|
+
|
41
|
+
まずTableLayoutのColumnsプロパティとRowsプロパティを使って、3×3分割のTableLayoutPanelを用意します。
|
42
|
+
|
43
|
+

|
44
|
+
|
45
|
+
|
46
|
+
真ん中のセルにButtonを設置します。
|
47
|
+
|
48
|
+

|
49
|
+
|
50
|
+
|
51
|
+
TableLayoutPanelのColumnsプロパティの編集画面を開きます。
|
52
|
+
|
53
|
+

|
54
|
+
|
55
|
+
|
56
|
+
真ん中のColumnのサイズの型を自動調整, 残りのColumnは50%に設定します。
|
57
|
+
すると真ん中のセルの横サイズが自動調整された結果ボタンのx中心とTableLayoutPanelのx中心が一致するようになります。
|
58
|
+
|
59
|
+

|
60
|
+
|
61
|
+
Rowsについても同様に真ん中のRowサイズの型を自動調整にすることで、ボタンのy中心とTableLayoutPanelのy中心が一致するようになります。
|
62
|
+
|
63
|
+

|
64
|
+
|
65
|
+
|
66
|
+
これをビルドして実行すると、フォームのサイズを変えてもボタンが常に真ん中を陣取る様子が観察されます。
|