ListView控件中的间距问题

Clé*_*ent 1 .net listview spacing winforms

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

Tile模式下的ListView间距问题

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

Han*_*ant 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
Run Code Online (Sandbox Code Playgroud)

这假设您在具有默认的96点/英寸设置的计算机上设计了表单.在原始图块大小上留下一点松弛,由于TrueType提示,缩放不完美.