我有一个旧的VB6项目,我试图转换为.NET。在项目中使用了vbLeftJustify。什么是vbLeftJustify的.NET版本?
.set_ColAlignment(j, vbLeftJustify)
答案 0 :(得分:1)
编辑重新启动@Hans Passant指出:
您将vbLeftJustify
与flexAlignLeftTop
如果您使用MSFlexGrid,则flexAlignLeftTop
的值为“0”,如下所示:
ColAlignment, ColAlignmentBand, ColAlignmentHeader Properties (MSHFlexGrid)
如果您使用的是DataGridView:
vb.net中没有vbLeftJustify
为了正确对齐DataGrid,您需要设置Column标头的DefaultCellStyle
,如下所示:
Dim DataGridViewCellStyle1 As DataGridViewCellStyle = New DataGridViewCellStyle()
DataGridViewCellStyle1.Alignment = DataGridViewContentAlignment.MiddleLeft
Me.Column1.DefaultCellStyle = DataGridViewCellStyle1
答案 1 :(得分:1)
它是一个弹性网格,“MSFlexGrid”
您应该使用 flexAlignLeft 。列对齐与对齐没有任何关系,只是对齐。它的值也是0,所以这是偶然的。
这个问题得到了明确解决,你不能再在VB.NET中犯这个错误了。枚举值现在具有关联类型,它不再是常量。
当您保留旧的VB6控件时,将项目迁移到VB.NET肯定更容易。请注意部署难题,您仍然需要在用户的计算机上安装OCX。迁移到DataGridView是您的长期解决方案。