我有一个 ListView 设置为 Tileview。 ListView 宽度为 300,tile 宽度也是如此。
当图 block 数量没有溢出导致滚动条时,这很好用。
但是当它确实溢出时,当垂直滚动条出现时,水平滚动条也会出现,因为垂直滚动条降低了图 block 的 ListView 宽度。有没有一种方法可以让磁贴自动调整大小以填充 ListView ?
查看示例图片:
目前发生的事情:
我想要发生的事情:
我尝试将宽度设置为 100%,但这不起作用。有什么想法吗?
最佳答案
没有直接的方法来检测滚动条是否可见。一种间接的方法是为 ClientSizeChanged 事件编写一个事件处理程序:
private void listView1_ClientSizeChanged(object sender, EventArgs e) {
listView1.TileSize = new Size(listView1.ClientSize.Width, listView1.TileSize.Height);
}
同时更改计算机上的 DPI 设置以验证您的图 block 大小仍然合适。这通常会改变控件的大小。 ClientSize.Width 是你的 friend 。
关于C# ListView 平铺宽度 100%?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4463774/