【问题标题】:Spacing problems in a ListView controlListView 控件中的间距问题
【发布时间】:2011-02-18 14:51:31
【问题描述】:

我在 VB.Net Windows 窗体项目中有一个标准的ListView 控件。视图设置为平铺。用户报告他们看到以下内容:

你知道我该如何解决这个问题吗?所有的设计工作都是使用 VS 2010 完成的。

【问题讨论】:

    标签: .net winforms listview spacing


    【解决方案1】:

    是的,当您更改列表视图的 TileSize 属性并且您的程序在具有更高视频 DPI 设置的机器上运行时,就会发生这种情况。这将使字体更大。导致文本不再适合磁贴。其他一切都由 Form 类中内置的自动缩放来处理。

    您应该缩放图块大小,使其变大以使文本再次适合。让它看起来像这样:

    Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
        MyBase.OnLoad(e)
        Using gr = Me.CreateGraphics
            Dim tile As New Size( _
              CInt(Me.ListView1.TileSize.Width * gr.DpiX / 96), _
              CInt(Me.ListView1.TileSize.Height * gr.DpiY / 96))
            ListView1.TileSize = tile
        End Using
    End Sub
    

    这假定您在具有默认每英寸 96 点设置的机器上设计表单。在原始图块大小上留一点余地,由于 TrueType 提示,缩放并不完美。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-25
      • 2012-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多