【问题标题】:Add GUI to Existing Code in Visual Studio将 GUI 添加到 Visual Studio 中的现有代码
【发布时间】:2013-08-29 15:42:47
【问题描述】:

我已经在 Visual Studio 2010 中使用 C# 构建了一个应用程序,它正在成功运行。假设代码文件名是 program.cs

我想为应用程序构建一个简单的 GUI,因此它比命令提示符更加用户友好。

最初,应用程序会在命令提示符下要求用户输入。我的目标是允许用户使用 ComboBoxTextBox 来提供输入并点击执行按钮来启动程序。

我尝试了添加新项目> Windows 窗体,但是当我按下 F5 时,程序仍然在命令提示符下运行,看起来它只是忽略了我刚刚创建的窗体.当我注释掉整个 program.cs 文件并运行时,我收到一条错误消息,提示没有“Main()

我的问题是:实现我的目标最好/最简单的方法是什么?为了将表单链接到现有代码,我需要在代码中进行哪些更改?

另一个注意事项:目前用户可以将可执行文件带到任何地方运行它。完成上述目标后,我希望用户能够获取表单并在任何地方运行它。 (我不确定可执行文件是否会以表单而不是命令提示符或其他方式运行。我对此不太熟悉)

【问题讨论】:

标签: c# winforms visual-studio-2010


【解决方案1】:

首先,添加对System.Windows.Forms命名空间的项目引用。

然后打开program.cs,用using语句引用同一个命名空间,改代码为:

static void Main()
{
    Application.Run(new Form1());
}

在您将 UI 控件添加到 Form1 并将所有内容连接起来以从用户那里获取您想要的值之后,您可以将其与Main() 方法中的 逻辑联系起来。但是,您如何做到这一点对您的情况很特殊。先试试看,遇到问题再回复。


也可以查看@sa_ddam213 的评论。只需在 VS 中右键单击项目并选择“属性”即可。

【讨论】:

  • +1,并在项目设置中将OutputTypeConsole Application更改为Windows Application
  • 是否需要包含任何 using 语句才能使用 Application.Run? Visual Studio 无法识别它...
  • @GrantWinney 如何让 Main() 从表单中获取值?我把字符串 boxValue = comboBox1.SelectedValue;在 Form1.cs 中,但我不知道如何让 program.cs 获取值。以及如何从 program.cs 更新标签?说我想在用户点击执行按钮时将 label1.Text 更改为时间戳。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-31
  • 2020-02-24
  • 2012-11-14
  • 2012-11-03
  • 2020-12-22
相关资源
最近更新 更多