根据网格宽度调整 DataGridView 列的大小

发布于 2024-09-25 12:32:56 字数 496 浏览 2 评论 0原文

我有一个 Windows 窗体。在这种形式中,我有数据网格控件,其中有几个具有预定义宽度的列。

当我通过使用最大化框或使用鼠标调整表单大小时,数据网格会自动调整自身大小以适应表单。这是使用数据网格的锚属性完成的。

现在我还需要调整列的宽度,以便所有列都适合调整大小的网格,而无需获得水平滚动条。目前,我通过计算新网格宽度与旧网格宽度的比率并以相同的比率增加列宽来做到这一点。但问题是,当我最大化和最小化表单时,比率不准确,因此在几次调整大小操作后,总列宽度小于网格宽度,并且开始在网格中显示空白空间。我在网格调整大小事件中执行此操作。

另一个问题是,该网格中还存在几个固定列,我不应该在网格调整大小时更改这些列的宽度。

我们应该如何处理这个问题?还有其他方法可以解决此调整大小问题吗?

更新:我做了不必要的工作来计算增加列宽的比率,这是没有必要的。

谢谢@KMan。您使用 fill 属性的建议有效。它根据表单调整大小时网格更改的宽度来调整列宽。

I'm having a windows form. In this form I've datagrid control which has few columns with predefined width.

When I resize the form either by using maximize box or using mouse, datagrid automatically resizes itself to fit the form. This is done using anchor property of the datagrid.

Now I need to resize the width of the columns as well so that all the columns fit within resized grid without getting horizontal scroll bar. At present I'm doing this by calculating the ratio of the new grid width with the old grid width and increasing the column width in the same ratio. But the problem in this is the ratio is not accurate when I maximize and minimize the form, so after couple of resize actions total columns width is less than the grid width and it starts showing empty space in the grid. I'm doing this in grid resize event.

Another catch in this is, there are couple of fixed columns also present in this grid and I'm not supposed to change the width of those columns on grid resize.

How should we handle this? Is there any other way to handle this resize problem?

Update: I was doing unnecessary job of calculating the ratio to increase the width of the columns, which is not necessary.

Thanks @KMan. Your suggestion to use the fill property worked. It takes care of column width resizing based on the grid changed width on form resize.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

箹锭⒈辈孓 2024-10-02 12:32:56

怎么样:

另外,请查看如何:设置 Windows 窗体 DataGridView 控件的大小调整模式

How about:

Also, checkout How to: Set the Sizing Modes of the Windows Forms DataGridView Control.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文