C# ListView 平铺宽度 100%?

标签 c# winforms listview tiles fluid-layout

我有一个 ListView 设置为 Tileview。 ListView 宽度为 300,tile 宽度也是如此。

当图 block 数量没有溢出导致滚动条时,这很好用。

但是当它确实溢出时,当垂直滚动条出现时,水平滚动条也会出现,因为垂直滚动条降低了图 block 的 ListView 宽度。有没有一种方法可以让磁贴自动调整大小以填充 ListView ?

查看示例图片:

目前发生的事情: alt text

我想要发生的事情: alt text

我尝试将宽度设置为 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/

相关文章:

c# - 剪贴板监视器 C#

c# - 在 jQuery Tag-it UI 小部件上获取错误无法加载资源

c# - 在 C# 中将 JSON 数组转换为 XML

c# - RichTextBox new Text append on top

c# - 多种方法的线程同步

c# - 验证属性中的值

c# - ListBox 和 Datasource - 防止第一项被选中

android - 自定义列表适配器重复条目

java - 使用 ViewHolder 会产生异常输出

jquery - 使用 jQuery Mobile 创建和修改列表?