CodeGo.net> Datagridview AutoSizeColumnsMode不起作用
作者:互联网
用户数
因此,由于视力/偏好,我有不同的用户使用不同的分辨率.
形成
出现的一种C#表单具有一个Datagridview,其AutoSizeColumnsMode设置为Fill.通过阅读MSDN中的对象,我意识到使用Fill不能使用左右滚动条.
问题
因此,问题在于何时装载datagridview.这些列在高分辨率下看起来不错,并且将datagridview一直填充到其边界.在较低分辨率的屏幕上,由于未使用“填充”选项启用滚动条,因此某些列被隐藏并且必须由用户拉伸才能查看.
尝试次数
我尝试了DisplayedCells选项,该选项的确为用户提供了较低分辨率的滚动条,并且看起来/效果很好.但是在更高的分辨率下,它在最后一列和Datagridview的边框之间留有很大的空隙,并且看起来未完成/损坏.
题
我怎么说:“除非用户使用的是非常低的分辨率,否则设置为Fill,然后使用DisplayedCells?”
解决方法:
您可以通过以下方式获得分辨率
int screenWidth = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width;
int screenHeight = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height;
然后使用if子句设置AutoSizeColumnsMode-Property.
像这样:
private void getScreenResolution()
{
int screenWidth = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width;
int screenHeight = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height;
}
private void setAutoSizeColumnsMode()
{
if (screenWidth <= 1680 || screenHeight <= 768)
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
else
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
}
标签:autosize,datagridview,resolution,c 来源: https://codeday.me/bug/20191030/1968725.html