如何检查Winforms中的数据网格视图中是否存在滚动条。
像(伪代码)
之类的东西If(datagridview.verticalscrollbar = true)
do something......
感谢。
答案 0 :(得分:4)
没有专门用于此目的的属性或方法,但您可以通过执行以下检查来判断是否显示垂直滚动条:
bool scrolling = (dataGridView.DisplayedRowCount(false) != dataGridView.Rows.Count);
(它将总行数与当前显示的数字进行比较;如果它们不匹配,则会显示滚动条。)
答案 1 :(得分: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
}