Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将windows窗体应用程序从C#转换为VB?_C#_Vb.net_Winforms - Fatal编程技术网

如何将windows窗体应用程序从C#转换为VB?

如何将windows窗体应用程序从C#转换为VB?,c#,vb.net,winforms,C#,Vb.net,Winforms,我一直在转换各种其他东西,如类、接口、ASP.NET MVC应用程序和WPF应用程序,但如何转换windows窗体应用程序却一直困扰着我,因为整个结构似乎有所不同。有人对如何解决这个问题有什么建议吗 我基本上看到您有两个文件,Form1.cs和Form1.Designer.cs。从字面上来说,将它们从C#翻译成VB是行不通的,因为VisualBasic的工作方式有些复杂。我认为您/可能/能够以这种方式转换Form1.cs,因为它只是一个构造函数加上事件处理程序,但设计器包含对控件等的引用,我不确

我一直在转换各种其他东西,如类、接口、ASP.NET MVC应用程序和WPF应用程序,但如何转换windows窗体应用程序却一直困扰着我,因为整个结构似乎有所不同。有人对如何解决这个问题有什么建议吗

我基本上看到您有两个文件,Form1.cs和Form1.Designer.cs。从字面上来说,将它们从C#翻译成VB是行不通的,因为VisualBasic的工作方式有些复杂。我认为您/可能/能够以这种方式转换Form1.cs,因为它只是一个构造函数加上事件处理程序,但设计器包含对控件等的引用,我不确定如何进行转换


我使用的是Visual Studio 2010 Beta 2。

Redgate.NET Reflector做得很好。

这两个文件都以部分类的形式包含Form1类的一部分。由于VB.Net中也支持分部类,因此我认为这里没有问题

设计器文件包含windows窗体设计器生成的所有代码,Form1.cs文件是所有自定义代码的存放位置(事件处理等)


因此,在转换这两个文件后,您应该检查Forms1.cs文件中对控件的所有引用是否在designer.cs文件中可用。

我的方法是在VB中创建一个新表单,添加一些表单和添加事件,并查看从中生成的VB,您将能够看到每个元素[control/event/propertyset]在C#和VB中完成。从那里,从c#转换到VB.net应该很繁琐。这将使我更加确信设计者能够处理转换的类和运行时。

我所做的是在VB中手动创建一个与C#中的表单同名的新表单,然后在设计视图中打开C#表单,确保我选择了表单上的所有控件,将它们复制并粘贴到VB中的空新表单上。然后用telerik free转换器翻译后面的代码:。我相信如果你有一个巨大的解决方案需要转换,它会变得很麻烦,但在我的例子中,这是一个很小的解决方案,结果很好。

我并不想对VB.net吝啬,但我想知道你为什么要进行这种转换,因为大多数转换任务都是从VB到c的?从你的主要开发中使用测试版可能不是一个好主意…特别是自从VS2010上市以来…我很高兴可以肯定的是,大多数转换任务实际上都是C#到VB。我所做的工作是专门针对VS2010的,我们的内部图像还没有更新到RC。我理解这些担忧,这正是这家公司目前的运作方式。这几乎就是我所做的,尽管我还不能测试它(因为C#和VB项目都无法编译……这是学生们练习的一部分,需要填充缺失的代码并修复),但它看起来很有希望。这比看上去容易。