代码之家  ›  专栏  ›  技术社区  ›  user770022

从Windows窗体继承

c#
  •  0
  • user770022  · 技术社区  · 15 年前

    这是家庭作业,所以对于那些不喜欢看别人问关于家庭作业的问题的人,不要阅读这篇文章。

    我要用C创建一个控制台应用程序和一个Windows窗体。当我运行控制台应用程序时,它会弹出一个窗口窗体,上面有两个按钮,按我并退出。我遇到困难的部分是。我该怎么做?我认为我需要将Windows窗体继承到控制台应用程序中。 帮助会很好。

    5 回复  |  直到 15 年前
        1
  •  0
  •   TalentTuner    15 年前

    你可以尝试跟随指针。

    1-创建空白解决方案。

    2-添加控制台项目。

    3-添加Windows窗体项目。

    4-在控制台项目中添加Windows窗体项目的引用。

    5-假设您在Windows窗体项目中有Form1。

    6-在控制台项目的主要功能中使用以下代码。

            Form1 f = new Form1();
            f.ShowDialog();
    
        2
  •  3
  •   Reed Copsey    15 年前

    因为这是家庭作业-我会尽量给你指出正确的方向(不完全回答)。

    我建议从头开始两个项目进行比较。制作一个Windows窗体应用程序和一个控制台应用程序,并查看两者之间的区别。这将向您展示在向控制台应用程序添加表单时需要更改的内容。

    特别是,看看“主要”和项目参考文献中的区别…

        3
  •  1
  •   Vivian River    15 年前

    不,你不需要遗产。您只需创建一个新的控制台应用程序。在新项目上单击鼠标右键,然后选择“添加”->新项目。选择 Windows Form . 在设计器中设计新窗体。

    然后,在控制台代码中(假设您调用了新表单Form1),将

    Form1 form1 = new Form1();
    Form1.ShowDialog();
    

    那应该是为你做的。

    仅仅因为此应用程序作为控制台应用程序运行并不意味着它不是像Windows窗体应用程序一样运行托管代码的.NET Windows应用程序。

    编辑,奖金事实: 这个 ShowDialog() 方法将使控制台等待,直到关闭窗体以结束程序。如果您使用 Show() 方法,它不会等待。对于一个好的学习练习,我建议你更多地了解这两种方法之间的区别。

        4
  •  0
  •   Pieter van Ginkel    15 年前

    简单的答案是创建一个简单的WinForms应用程序,执行您需要的操作,然后将所有代码和生成的代码复制到控制台应用程序。不过,您仍然需要添加库引用,否则它将无法编译。

        5
  •  0
  •   JaredPar    15 年前

    因为这是家庭作业,所以故意回答得有点含糊:)

    你在这里似乎遇到了两个问题

    1. 如何从控制台应用程序显示Windows窗体
    2. 如何从控制台应用程序访问Windows窗体实例

    对于第一个问题,关键是需要在控制台应用程序中设置消息循环,以确保表单正确响应。请注意,为了运行正常的Windows窗体应用程序,还必须执行此操作。我将创建一个WinForm应用程序,并在隐藏文件中挖掘代码,以便了解如何在其中创建和显示主窗体(提示:应用程序是您要查找的类型)

    对于第二个问题,最简单的解决方案是创建一个winform dll并从控制台应用程序引用它。