【问题标题】:C# datagridview not rendering properly on certain display settingsC# datagridview 在某些显示设置上无法正确呈现
【发布时间】:2017-03-30 04:12:45
【问题描述】:

除了在 Windows 7 上使用以下显示设置(我在多台计算机上重现了该问题)外,我的此应用程序可在所有计算机上运行:

这是我的应用程序在使用此设置时的样子: 单元格大部分在 datagridview 的右侧被涂黑。如果我尝试向上/向下滚动,单元格/字体会乱码,所有内容看起来都无法阅读。

我检查了this 解决方案,尝试过,但问题仍然存在。有趣的是,这个问题只影响 datagridview。

这是常见的 Microsoft 故障还是可以通过代码修复的问题?我有一些同事使用上述显示设置。

【问题讨论】:

    标签: c# datagridview rendering


    【解决方案1】:

    我一直在做一些研究,我发现datagridview的DoubleBuffered属性默认是关闭的,它有点“隐藏”,所以基本上不可能不做一些编码就打开它。

    话虽如此,即使我在下面发布的代码是另一个 question 的答案,也可以找到 here,但我认为与其删除问题,不如展开DoubleBuffering 可以成为解决方案的情况。

    private void Form1_Load(object sender, EventArgs e)
         {
            typeof(DataGridView).InvokeMember("DoubleBuffered", 
            BindingFlags.NonPublic |
            BindingFlags.Instance | BindingFlags.SetProperty, null,
            mydataGridView, new object[] { true });
         }
    

    【讨论】:

      猜你喜欢
      • 2023-03-14
      • 1970-01-01
      • 2014-10-27
      • 2018-04-30
      • 1970-01-01
      • 2021-12-05
      • 1970-01-01
      • 2019-08-02
      • 1970-01-01
      相关资源
      最近更新 更多