簡體   English   中英

C#Windows窗體,選項卡上的控件

[英]C# Windows Forms, Controls on tabs

我在表單上有一個tabcontrol,在每個選項卡上都有一個控件,這些控件中的每個控件都是相似的,即它們每個都有一個表和幾個按鈕,並且每個控件都設置為Dock Fill

當我在設計視圖中查看它們的控件時,發生了一些奇怪的事情,可以看到的第一個選項卡將控件按預期放置,並且一切都很好,但是第二個和第三個選項卡中的每個控件都偏離中心,與控件的邊緣重疊標簽。

我已經嘗試過將不同的控件放置在不同的選項卡上,並且看起來如果一個控件在第一個選項卡上它看起來很好,如果在任何其他控件上它有時看起來很奇怪。

真正的大問題是,這似乎也在運行時出現,但僅在某些時候出現。

我已經檢查了控件和選項卡的屬性,但似乎都一樣。

任何建議將不勝感激。

親切的問候

機電

對我來說似乎是個錯誤,請確保您具有Visual Studio的所有最新更新。

這是您要放置在標簽上的UserControl嗎? 如果是這樣,我將檢查用戶控件和用戶控件內的子控件上的所有布局屬性。 我以前曾遇到過這個問題,但我不記得曾經做過什么工作來修復它。

嘗試這個:

  1. 第一件事是驗證控件的z順序正確。 為此,請打開“文檔大綱”窗口(“查看”->“其他Windows”->“文檔大綱”),然后逐一直觀地檢查每個控件的順序。 設置控件的停靠屬性時,控件的z順序將反向應用; 也就是說:文檔大綱中顯示的第一個子控件的停靠優先級高於文檔大綱窗口中較低級別的子控件。

  2. 驗證同一父項(在您的情況下為tabControl)中沒有2個子控件具有DockStyle.Fill。 作為對接的一種好習慣,只有一個子控件應將其對接設置為“填充”。 如果遇到這種情況,很可能會重新考慮布局流程,從而可以更改它,並且只有一個帶有Fill。 其他對接樣式(右,左,上,下)可以在多個子控件中使用,它們永遠不會造成任何問題。 只有填充是有問題的。

  3. 如果1或2解決了您的問題,我的建議是避免完全對接,而改用錨固。 使用控件的Anchor屬性,基本上可以得到非常相似的結果。 我實際上更喜歡這種方法,因為有點類似於WPF錨定。

  4. 如果1、2而不是3解決您的問題。 發布帶有文檔輪廓的圖像,我將在此處重新創建,修復它並在此處發布解決方案。

希望能有所幫助!

我假設這些是我們正在談論的用戶控件。 自將用戶控件添加到選項卡以來,您是否更改了控件(類)本身的布局? 如果是這樣,它們將不會自動使用新值更新(Dock,寬度,高度等)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM