14

アンカーを使用すると、次の行を書くことができます。

myControl.Anchor = (AnchorStyles.Top | AnchorStyles.Left);

myControlそして、それは左と上に固定されます。

なぜ私は次のことができないのですか?

myControl.Dock = (DockStyle.Top | DockStyle.Left);

上記の行を書くことはできますが、DockStyle左に設定するだけです。

これについて何か考え/理由はありますか?

4

4 に答える 4

15

これができない理由は、DockStyle基本的に設定すると、指定されたエッジのエンティティがドッキング/フィルされるためです。

たとえば、DockStyle.Leftドッキングされるアイテムの高さは常にコンテナの高さであり、X、Yの位置は常に0、0であることを意味します。

DockStyle.Topアイテムの幅は常にコンテナの幅になり、場所は常に0,0になることを意味します。

設定 DockStyle.Topし、DockStyle.Left本質的にあなたに与えるでしょうDockStyle.Fill。つまり、コンテナと同じ幅と高さです。

于 2010-08-09T14:02:18.780 に答える
3

ADockは事前に決定されたアンカーセットですが、anAnchorはカスタムドック構成です。

DockStyle.TopAnchor = (AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right)アンカーが任意の初期位置に配置でき、ドックが遠端に移動することを除いて、は同じです。

于 2010-08-09T14:02:03.797 に答える
2

は、多数に設定できるDockStyleのとは対照的に、1つの値にのみ設定できます。Anchor

そのAnchorため、フォームのサイズ変更に対するコントロールの反応をより具体的に調整できるプロパティがあります。

于 2010-08-09T13:58:04.157 に答える
0

あなたが探しているのはAnchor属性かもしれません:

myControl.Anchor = AnchorStyles.Bottom  | AnchorStyles.Right
于 2018-04-19T09:56:54.537 に答える