C# 在禁用的DataGridView上显示垂直滚动条
我有一个DataGridView,它放在用户无法直接与之交互的表单上。必须禁用该表单才能实现此效果,因此我的DataGridView也将被禁用。这意味着滚动条变灰,不显示用户在控件中的当前位置。用户可以使用↑ 及↓ 当它们以另一种形式出现时,它们能够知道列表有多大以及它们在其中的位置是很重要的 我的问题是:如何在禁用的DataGridView上显示垂直滚动条C# 在禁用的DataGridView上显示垂直滚动条,c#,.net,datagridview,scrollbar,C#,.net,Datagridview,Scrollbar,我有一个DataGridView,它放在用户无法直接与之交互的表单上。必须禁用该表单才能实现此效果,因此我的DataGridView也将被禁用。这意味着滚动条变灰,不显示用户在控件中的当前位置。用户可以使用↑ 及↓ 当它们以另一种形式出现时,它们能够知道列表有多大以及它们在其中的位置是很重要的 我的问题是:如何在禁用的DataGridView上显示垂直滚动条 注意:许多人通过启用DataGridView并将ReadOnly属性设置为true来解决这个问题。这对我不起作用,因为必须禁用父窗体。如果
注意:许多人通过启用DataGridView并将ReadOnly属性设置为true来解决这个问题。这对我不起作用,因为必须禁用父窗体。如果禁用网格,则无法启用滚动条 在下面的链接中查找注释:当可滚动控件被禁用时,滚动条也被禁用。例如,禁用的多行文本框无法滚动显示所有文本行。 SRC: 但你可以用不同的方式实现你的目标 尝试下面的方法,解释在注释中
//INSTEAD OF DISABLING FORM, DISABLE ALL THE CONTROLS IN THE FORM
foreach (var pb in this.Controls.OfType<Control>())
{
pb.Enabled = false;
}
//NOW ENABLE THE DATAGRID VIEW
this.dataGridView1.Enabled = true;
//MAKE DATAGRID VIEW READ ONLY
this.dataGridView1.ReadOnly = true;
//禁用表单中的所有控件,而不是禁用表单
foreach(this.Controls.OfType()中的var pb)
{
pb.Enabled=false;
}
//现在启用DATAGRID视图
this.dataGridView1.Enabled=true;
//使DATAGRID视图为只读
this.dataGridView1.ReadOnly=true;
如果禁用网格,滚动条将无法工作。感谢您的建议,但正如我在问题中所述,我需要禁用表单本身,因此这不是可行的解决方法。您是否有消息来源声称他们无法启用滚动条?@NathanVanDyken在此链接中查找注意事项:当可滚动控件被禁用时,滚动条也被禁用。例如,禁用的多行文本框无法滚动显示所有文本行。使Datagridview只读仍允许grid view的内容保持功能,例如单元格内的复选框仍可以单击