我有一個安裝了 MaterialSkin.2 nuget 包的 Winforms .Net Framework 應用程式。問題是,我有很多選項卡,并且它們在設計器中使用 2 行圖示。但是頁面會在運行時按預期加載到左側。雖然設計這些行占用了大量空間,如果我想在底部有一個按鈕,它并不完全存在(下圖),當我希望按鈕位于最右上角時,它們也會溢位。我該如何解決這個問題。我通過 Youtube Fox Learn 頻道學習了 Winforms Material 設計。我正在使用VS2022。
設計形象。我將 TabControl 停靠欄設定為填充。

運行時映像。如您所見,右側的按鈕已溢位,而底部的按鈕并未完全向下。

uj5u.com熱心網友回復:
控制元件位置是相對于其父級的。控制元件需要知道在其父客戶端大小發生更改時該做什么。在不使用布局面板的簡單設計中,控制元件Anchor和/或Dock屬性用于此目的。前者定義了控制元件系結到的容器的邊緣。后者定義了哪些控制元件邊框停靠在其父級上。兩者都告訴控制元件它是如何與父級一起調整大小的。
第二個螢屏截圖中的按鈕保持在相同的位置,因為它們的 Anchor 屬性設定為默認值。AnchorStyles.Top | AnchorStyles.Left. 這里發生ClientSize的TabControl是在運行時改變的。因此,底部按鈕下方的空間是頂部對齊時選項卡區域的高度(設計時),右側按鈕的裁剪大小是左對齊時該區域的寬度(運行時)。
要運行您設計的內容,請切換到“屬性”視窗并設定Anchor按鈕的屬性,如下所示:
Button1.Anchor = AnchorStyles.Top | AnchorStyles.Left; // The default.
Button2.Anchor = AnchorStyles.Bottom | AnchorStyles.Left;
Button3.Anchor = AnchorStyles.Top | AnchorStyles.Right;
Button4.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/528326.html
標籤:C#表格材料设计
