3

用户 因此,由于视力/偏好等原因,我有不同的用户使用不同的分辨率。

表单 出现的 C# 表单之一有一个 datagridview,其中AutoSizeColumnsMode设置为Fill。我从 MSDN 中的对象的阅读中意识到,使用Fill你不能使用左右滚动条。

问题 所以问题是datagridview加载时。这些列在高分辨率上看起来很棒,并按照应有的方式将 datagridview 一直填充到其边界。在较低分辨率的屏幕上,一些列是隐藏的,必须由用户拉伸才能查看,因为填充选项未启用滚动条。

我尝试DisplayedCells选项,它确实为用户提供了较低分辨率的滚动条,它看起来/效果很好。但在更高的分辨率上,它在最后一列和 Datagridview 的边界之间留下了很大的间隙,看起来未完成/损坏。

问题 我怎么能说“除非用户使用非常低的分辨率,否则设置为填充,然后使用DisplayedCells?”

4

1 回答 1

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;
    }
于 2013-08-12T23:55:09.390 回答