【发布时间】:2011-04-18 17:27:37
【问题描述】:
我有一个 Windows 窗体。在这种形式中,我有 datagrid 控件,它有几个具有预定义宽度的列。
当我使用最大化框或鼠标调整表单大小时,datagrid 会自动调整自身大小以适应表单。这是使用数据网格的锚属性完成的。
现在我还需要调整列的宽度,以便所有列都适合调整大小的网格,而不会出现水平滚动条。目前我正在通过计算新网格宽度与旧网格宽度的比率并以相同的比率增加列宽来做到这一点。但是这个问题是当我最大化和最小化表单时比例不准确,所以在几次调整大小操作后,总列宽度小于网格宽度,它开始在网格中显示空白空间。我在网格调整大小事件中这样做。
另一个问题是,这个网格中还存在几个固定列,我不应该在调整网格大小时更改这些列的宽度。
我们应该如何处理?有没有其他方法来处理这个调整大小的问题?
更新:我做了不必要的工作来计算比率以增加列的宽度,这是没有必要的。
感谢@KMan。您使用 fill 属性的建议奏效了。它会根据表格调整大小时网格更改的宽度来调整列宽。
【问题讨论】:
标签: c# winforms datagrid resize