當前位置:編程學習大全網 - 編程語言 - winform窗體Anchor和Dock區別?

winform窗體Anchor和Dock區別?

winform Anchor和Dock屬性

在設計窗體時,這兩個屬性特別有用,如果用戶認為改變窗口的大小並不容易,應確保窗口看起來不顯得很亂,並編寫許多代碼行來達到這個目的,許多程序解決這個問題是地,都是禁止給窗口重新設置大小,這顯然是解決問題最簡單的方法,但不是最好的方法..NET引入了Anchor和Dock屬性,就是為了在不編寫任何代碼的情況下解決這個問題.

Anchor屬性用於指定在用戶重新設置窗口的大小時控件應該如何響應,可以指定如果控件重新設置了大小,就根據控件的邊界鎖定它,或者其大小不變,但根據窗口的邊界來錨定它的位置.

Dock屬性用於指定控件應停放在窗口的邊框上,用戶重新設置了窗口的大小,這個控件將繼續停放在窗口的邊框上,例如,如果指定控件停放在窗口的底部邊界上,則無論窗口的大小改變,這個控件都將改變大小,或移動其位置,確保總是位於屏幕的底部.

 有壹點讓許多剛接觸WinForms編程的開發者感到很棘手,就是在用戶調整各種控件的大小時,怎樣使它們的窗體保持同步,並與父窗體相稱。這可以成為壹種讓人非常沮喪的情況,尤其是對於有著Web編程背景,轉為WinForms的開發者來說。為了緩解這個問題,.NET框架允許妳對子控件設置屬性,命令在調整父窗體大小時,它們應該如何運作。用來命令控件在調整大小時動作的兩個屬性就是“Dock”和“Anchor”。Dock和Anchor通過將控件連接到它們父窗體的某個位置,而免除了使應用程序具有不可預知界面的麻煩。最好的壹點就是設立這些屬性不需要任何手寫代碼。所有事情都可以通過Visual Studio IDE中的點和單擊來完成。

Anchor屬性

正如名稱暗示的那樣,這個屬性迫使控件將其自身定位在父窗體或父控件中的某個相對或絕對位置。這個屬性有四個可以開啟或關閉的值:

Top——表示控件中與父窗體(或父控件)相關的頂部應該保持固定。

Bottom——表示控件中與父窗體(或父控件)相關的底邊應該保持固定。

Left——表示控件中與父窗體(或父控件)相關的左邊緣應該保持固定。

Right——表示控件中與父窗體(或父控件)相關的右邊緣應該保持固定。

要對壹個控件設置Anchor屬性,只需在Visual Studio設計器中選擇控件,然後轉到屬性窗口。妳會看到壹個標註為“Anchor”的屬性。點擊這個屬性值的部分,會出現壹個小窗口讓妳選擇想要賦予控件的錨點。圖表A所示是選擇了“頂邊、左邊”的anchor設置窗口。圖表B所示是選擇了“底邊、右邊”的窗口。

Dock屬性

Dock屬性迫使控件緊貼父窗體(或控件)的某個邊緣。雖然Anchor屬性也可以實現這壹點,但是dock屬性使得妳能夠在父窗體中讓子窗體可以在上方(或旁邊)互相“堆疊”。如果某個子窗體改變了大小,其它停駐在它旁邊的子窗體也會隨之改變。和Anchor屬性不同的是,妳可以將Dock屬性設置為壹個單值。有效值如下所示:

Top——迫使控件位於父窗體(或控件)的頂部。如果有同壹個父窗體的其它子控件也被設置為停駐在頂部的話,那麽控件將在彼此上方相互堆疊。

Bottom——迫使控件位於父窗體(或控件)的底部。如果有同壹個父窗體的其它子控件也被設置為停駐在底部的話,那麽控件將在彼此上方相互堆疊。

Left——迫使控件位於父窗體(或控件)的左邊。如果有同壹個父窗體的其它子控件也被設置為停駐在左邊的話,那麽控件將在彼此旁邊相互堆疊。

Right——迫使控件位於父窗體(或控件)的右邊。如果有同壹個父窗體的其它子控件也被設置為停駐在右邊的話,那麽控件將在彼此旁邊相互堆疊。

Fill——迫使控件位於父窗體(或控件)的上方。如果有同壹個父窗體的其它子控件也被設置為停駐在上方的話,那麽控件將在彼此上方相互堆疊。

None——表示控件將會正常運轉。

要設置壹個控件的Dock值,選擇Visual Studio中的控件,然後轉到屬性窗口。妳會看到壹個標註為“Dock”的屬性。點擊這個屬性的值的部分,會出現壹個小窗口讓妳指定該控件將如何停駐。被賦予各種值的該窗體將顯示在以下圖像中

  • 上一篇:教機器人最難的10件事
  • 下一篇:有誰知道黑客的知識,隨便說點就可以。急急急急!!!!
  • copyright 2024編程學習大全網