2010-11-17 76 views
2

如何檢查Winforms中的datagridview上是否存在滾動條。c#識別控件上的滾動條

類似的信息(僞)

If(datagridview.verticalscrollbar = true) 
do something...... 

感謝。

+2

WPF可見?的WinForms? ASP.Net? Silverlight的?哪個控件? – SLaks 2010-11-17 14:33:58

+0

嗨,這是Winform。已編輯原始帖子。 – 2010-11-17 14:35:36

+0

達倫 - 你有多達_5_的標籤使用。請使用多個。 – Oded 2010-11-17 14:37:22

回答

1

在Datagridview中,滾動條有特殊控制 - 不像通常的面板。

你可以做某事。像

private VScrollBar _verticalScrollBar; 
private HScrollBar _horizontalScrollBar; 

foreach (Control c in _dataGridView.Controls) 
    { 
     if (c is VScrollBar) 
     { 
      _verticalScrollBar = c as VScrollBar; 
      if (_horizontalScrollBar!=null) 
      { 
       break; 
      } 
     } 
     if (c is HScrollBar) 
     { 
      _horizontalScrollBar = c as HScrollBar; 
      if (_verticalScrollBar != null) 
      { 
       break; 
      } 
     } 
    } 

和測試,如果滾動條是

if(_verticalScrollBar.Visible==true){ 
//do something you want when scrollbar is visible 
} 
else 
{ 
//do something when scrollbar is invisible 
} 
+0

太棒了。像魅力工作....謝謝。 – 2010-11-17 15:39:45

4

有用於這一目的沒有屬性或方法具體,但你可以告訴我們,如果垂直滾動條通過執行以下檢查顯示:

bool scrolling = (dataGridView.DisplayedRowCount(false) != dataGridView.Rows.Count); 

(這行的總數與數量目前正在比較顯示;如果它們不匹配,滾動條將變爲可見)。

+1

優秀....謝謝。 – 2010-11-17 15:10:13

+0

我用它作爲列。謝謝 – 2013-03-04 01:04:19

相關問題