ListView控件中的间距问题

时间:2011-02-17 10:54:56

标签: .net winforms listview spacing

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

ListView spacing problem in Tile mode

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

1 个答案:

答案 0 :(得分:5)

是的,当您更改列表视图的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提示,缩放不完美。