c#识别控件上的滚动条

c#识别控件上的滚动条,c#,winforms,C#,Winforms,如何在Winforms中检查datagridview上是否存在滚动条 比如(伪代码) 谢谢。没有专门用于此目的的属性或方法,但您可以通过执行以下检查来判断垂直滚动条是否显示: bool scrolling = (dataGridView.DisplayedRowCount(false) != dataGridView.Rows.Count); (它将总行数与当前显示的行数进行比较;如果它们不匹配,将显示一个滚动条。)在Datagridview中,有用于滚动条的特殊控件-与普通面板不同 你可以像

如何在Winforms中检查datagridview上是否存在滚动条

比如(伪代码)


谢谢。

没有专门用于此目的的属性或方法,但您可以通过执行以下检查来判断垂直滚动条是否显示:

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

(它将总行数与当前显示的行数进行比较;如果它们不匹配,将显示一个滚动条。)

在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
}

WPF?WinForms?ASP.Net?银灯?哪个控件?嗨,我是Winform。已经编辑过原始post.Darren-您最多可以使用5个标签。请使用多个。@Oded…抱歉,没有意识到…将来也可以。
if(_verticalScrollBar.Visible==true){
//do something you want when scrollbar is visible
}
else
{
//do something when scrollbar is invisible
}