1

我有一个旧的 VB6 项目,我正在尝试将其转换为 .NET。在项目中使用了 vbLeftJustify。vbLeftJustify 的 .NET 版本是什么?

.set_ColAlignment(j, vbLeftJustify)
4

2 回答 2

1

编辑:修改为@Hans Passant 指出:

vbLeftJustify你很困惑flexAlignLeftTop

如果您使用的是 MSFlexGrid,请flexAlignLeftTop按照此处的要求传递值“0”: ColAlignment、ColAlignmentBand、ColAlignmentHeader Properties (MSHFlexGrid)

如果您使用的是 DataGridView:

vb.net 中没有vbLeftJustify为了正确对齐 DataGrid,您需要DefaultCellStyle像这样设置 Column 标题:

Dim DataGridViewCellStyle1 As DataGridViewCellStyle = New DataGridViewCellStyle()

DataGridViewCellStyle1.Alignment = DataGridViewContentAlignment.MiddleLeft
Me.Column1.DefaultCellStyle = DataGridViewCellStyle1
于 2013-10-21T17:38:43.923 回答
1

它是一个弹性网格,“MSFlexGrid”

您应该使用flexAlignLeft。列对齐与对齐没有任何关系,只是对齐。它的值也为 0,因此它意外地正常工作。

这得到了显着修复,在 VB.NET 中你不能再犯这个错误了。枚举值现在具有关联类型,它不再只是一个常量。

当您保留旧的 VB6 控件时,将您的项目迁移到 VB.NET 肯定会更容易。请注意部署问题,您仍然需要在用户的机器上安装 OCX。迁移到 DataGridView 是您的长期解决方案。

于 2013-10-21T18:13:50.937 回答