【问题标题】:Launch VB form from a C# form从 C# 窗体启动 VB 窗体
【发布时间】:2012-03-14 14:55:01
【问题描述】:

我和我的一个朋友正在做一个课堂项目。他更喜欢 VB 而我更喜欢 C#,所以我们只是做了我们的事情。现在,我们正在考虑合并这些项目。我将他添加到我的,但我找不到如何从我制作的表格中打开他制作的表格。

有没有办法从 C# 表单启动 VB 表单?

【问题讨论】:

    标签: c# vb.net winforms


    【解决方案1】:

    语言是项目特定的。这意味着您有一个 C# 项目和 VB 项目。您不能在一个项目中混合使用多种语言。但是,您可以在一个解决方案中拥有多种语言项目。比如他用VB做前端,你用c#做后端,然后将vb项目中的引用添加到c#项目中。

    此外,您可以使用 VB 到 C# 转换器,反之亦然,但结果不一。我已将整个 vb 项目转换为 c#。

    【讨论】:

    • 但问题是我们都制作了表单,认为我们不会合并它。我知道您可以将 C# dll 添加到 VB 项目中,反之亦然。但我想打开他的表格。 (或者我只是不理解你)
    • 我相信你可以从 dll 中打开他的表单,如果它被公开的话。一个项目必须是负责应用程序加载的“主”。
    • 好的,我会调查的 :) 或者只是翻译和重新创建他的表格。
    【解决方案2】:

    无法在 VB 中混合使用 C#。但您可以使用 Jon Skeet 建议的方法。

    1) Create Multi-Project Solutions

    2) 在你的项目中添加你朋友的VB项目的引用

    然后您可以创建您朋友创建的表单的对象:

    YourFriendProject.SomeForm  someForm = new YourFriendProject.SomeForm();
    someForm.Show();
    

    【讨论】:

      【解决方案3】:

      您不能将不同的语言添加到同一个项目中,但您应该能够将两个项目添加到同一个解决方案中,并将您的 C# 项目中的引用添加到他的 VB 项目中,并使用他创建的类型 - 所以当然,只要它们是公开的。

      【讨论】:

        【解决方案4】:

        答案已经贴出来了,只是加个图让事情更清楚一点。

        • 您不能将两种不同语言的表单/代码添加到同一个项目中。
        • 您可以将项目引用从 VB 程序集添加到 CS 程序集,反之亦然。
        • 您可以将任一项目添加到另一个解决方案中以访问这两个解决方案。

        【讨论】:

          【解决方案5】:

          我就是这样做的。 C# 打开 VB.NET。我还添加了 sCarletto 作为参考,但尝试添加我的主要 C# 作为对 sCarletto 的参考,我并没有那么成功……但是。在语音命令 Araura (form1) 上打开 sCarletto (vb.net) 表单。 enter image description here

          【讨论】:

            【解决方案6】:

            这是一个真正简单的解决方案,我因为编码太累而忽略了。 我只是这样做了:

            Case "ARAURA COME BACK"
            Process.Start("The file path to my C# programs .exe located in the Debugging folder")
            me.Close()
                      
            

            【讨论】:

            • 抱歉上面的分离问题。我把它放在彼此下方,但它以这种方式吐回来。您可以在以下位置找到我的项目:github.com/deadreport77
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-12-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多