2014-01-07 121 views
1

我有一些从VB6转换为.NET的代码,出现错误名称'vbPixels'未声明,名称'vbTwips '没有被宣布。这在VB6中运行良好。VB.NET名称'vbPixels'未声明,名称'vbTwips'未声明

下面是代码:

.Width = o.ScaleX(x, vbPixels, vbTwips) 

是否有.NET的方式做到这一点是在VB6做同样的事情?

回答

2

不添加vbPixels和vbTwips到VB.NET是故意。它迫使你处理位置和大小不再​​表示为,只有像素。您必须必须同样转换您的代码。

这应该是简单的,因为“.Width”已经使用像素作为单位。因此:

.Width = x 
+0

哇..这是非常翔实的。这确实消除了错误。感谢您的帮助。 – nate

0

退房VB的电源包(Microsoft.VisualBasic.PowerPacks.Vs.dll)which contains these constants

Imports Microsoft.VisualBasic.PowerPacks.Printing.Compatibility.VB6 

.Width = o.ScaleX(x, ScaleModeConstants.vbPixels, ScaleModeConstants.vbTwips) 
+0

我认为你的答案会起作用,我只需要调整它。我在我的文件顶部添加了导入,并且出现了以下警告:Warning Imports'Microsoft.VisualBasic.PowerPacks.Printing.Compatibility.VB6'中指定的名称空间或类型不包含任何公共成员或不能成为找到。确保命名空间或类型已定义并且至少包含一个公共成员。 – nate

+0

然后intellisense希望我改变进口到:Microsoft.VisualBasic.Compatibility.VB6 – nate