2010-11-17 41 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

相关问题