用户 所以我有不同的用户,由于视力/喜好,使用不同的分辨率,无论如何。
表格 其中一个C#表单有一个数据网格视图,其中 AutoSizeColumnsMode 设置为填充。我从MSDN中的对象读取中发现,使用 Fill ,您无法使用左右滚动条。
问题 所以问题是datagridview加载的时候。这些列在高分辨率上看起来很棒,并且将datagridview一直填充到它应该的边界。在较低分辨率的屏幕上,某些列是隐藏的,必须由用户拉伸才能查看,因为滚动条未启用填充选项。
尝试 我尝试了 DisplayedCells 选项,该选项确实为用户提供了较低分辨率的滚动条,它看起来/效果很好。但是在更高的分辨率上,它在最后一列和Datagridview的边界之间留下了很大的间隙,看起来未完成/破坏。
问题 除非用户使用非常低的分辨率,否则我怎么说“设置为填充”,然后使用 DisplayedCells ?“
答案 0 :(得分:4)
您可以通过
获得解决方案 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;
}