0

我有一個要在表格佈局面板(一列多行)內顯示的國家列表。組合框過濾器用於過濾不同的大洲,並根據過濾的大陸名稱,使國家/地區列表可見並隱藏在表視圖中。但是,上下滾動滾動條,然後將組合框過濾器應用於不同的大陸名稱時,滾動條不會滾動到頂部。滾動器應該返回到表格面板佈局內的第一個可見的國家/地區控制/組件。Windows Form C#tablelayoutpanel使用combofilterbox時向上滾動不會更新

有沒有人遇到過這個問題。代碼看起來像這樣。任何幫助都感激不盡。我一直在嘗試不同的選擇,沒有什麼似乎對滾輪有任何影響。

<pre> 
{ 
.... 
if (scrollDirection == ScrollDirection.Up) 
      { 
       Control usercontrol = GetFirstVisibleCountryUC(); 
       if (usercontrol != null) 
       { 
        tableLayoutPanelCountries.ScrollControlIntoView(usercontrol); 
        tableLayoutPanelCountries.Invalidate(); //Refresh, Update have tried different options 
       } 
      } 
..... 
} 
private Control GetFirstVisibleCountryUC() 
     { 
      foreach (CountryUC uc in this.tableLayoutPanelCountries.Controls) 
      { 
       if (uc.Visible) 
       { 
        return uc; 
       } 
      } 
      return null;   
     } 
</pre> 
+0

有些事情錯在這裏。你可以發佈一個小而完整的代碼來顯示問題。 –

回答

1

滾輪應返回到工作臺面板佈局中的第一個可見的國家控制/組件。

如果這正是你所需要的,那麼下面應該做的工作

tableLayoutPanelCountries.AutoScrollPosition = new Point(0, 0); 
+0

謝謝你的幫助。它仍然沒有影響的滾動。滾動器沒有返回到第一個可見控件/組件。 – divspec

+0

它工作。我的意思是我意識到我有另一個隱藏在下面的面板,面板autoscroll設置爲true。所以我用

panelCountries.AutoScrollPosition = new Point(0, 0);
divspec

+0

非常感謝你的幫助。 – divspec

相關問題