2013-10-21 97 views
1

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

.set_ColAlignment(j, vbLeftJustify) 
+2

祈祷告诉,左边是什么? Quacks就像一个网格控件,vbLeftJustify只是意外的正确。它是0,所以它不是一个很大的事故。 –

+2

你能让我们知道你使用的是什么样的控制方式吗?大多数控件默认为左对齐。 – alstonp

+0

@alstonp它是一个弹性网格,“MSFlexGrid” – nate

回答

1

编辑: Reivised为@Hans帕桑特指出:

你如果您使用的是MSFlexGrid控件传递值 “0” 为flexAlignLeftTop按照与flexAlignLeftTop

混淆vbLeftJustify这里: ColAlignment, ColAlignmentBand, ColAlignmentHeader Properties (MSHFlexGrid)

如果您使用的是DataGridView:

有在vb.net没有vbLeftJustify以对准DataGrid的正确,你将需要设置列标题的DefaultCellStyle像这样:

Dim DataGridViewCellStyle1 As DataGridViewCellStyle = New DataGridViewCellStyle() 

DataGridViewCellStyle1.Alignment = DataGridViewContentAlignment.MiddleLeft 
Me.Column1.DefaultCellStyle = DataGridViewCellStyle1 
1

它是一个柔性网格,“MSFlexGrid控件”

你应该使用flexAlignLeft。列对齐与对齐没有任何关系,只是对齐。它的值也是0,所以这意外地正确工作。

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

当您保留旧的VB6控件时,将项目迁移到VB.NET当然更容易。要小心部署头痛,你仍然需要在你的用户机器上安装OCX。转移到DataGridView是您的长期解决方案。

+0

+1。你是否需要VB.Net编译器的'Option Strict On'来警告你是否意外地以这种方式滥用枚举值?我不记得了。 – MarkJ

相关问题