如何将控制台应用程序转换为Win窗体

时间:2014-09-19 11:45:38

标签: c#

如何将此控制台应用程序转换为Windows窗体应用程序?!

01  using System;
02  using System.Collections.Generic;
03  using System.Linq;
04  using System.Text;
05  using System.Threading.Tasks;
06  using MySql.Data.MySqlClient;
07   
08  namespace ConsoleApplication3
09  {
10      class Program
11      {
12          static void Main(string[] args)
13          {
14              string connString = "Server=localhost;Database=vehicles;Uid=root;  Password=toor;";
15              MySqlConnection conn = new MySqlConnection(connString);
16              MySqlCommand command = conn.CreateCommand();
17              command.CommandText = "select id, (stock-used) AS total, stock, used FROM `parts`";
18              try
19              {
20                  conn.Open();
21              }
22              catch (Exception ex)
23              {
24                  Console.WriteLine(ex.Message);
25              }
26              MySqlDataReader reader = command.ExecuteReader();
27              while (reader.Read())
28              {
29                  Console.WriteLine(reader["total"].ToString());
30              }
31              Console.ReadLine();
32          }
33      }
34  }

将其设为WPF或WINDOWS FORM。

我已经尝试了两种方法而且我的失败可怕!

3 个答案:

答案 0 :(得分:1)

更改项目设置...

应用---> OutPut类型 - >窗口应用程序(代替控制台应用程序)

enter image description here

添加命名空间:

using System.Windows.Forms;

添加Form1.cs文件:

public partial class Form1 : Form
    {
      public Form1()
      {
        InitializeComponent();
       }
    }

在Main()中添加此代码:

    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
    }

答案 1 :(得分:1)

您可能最好创建一个新的空白项目。

在您的解决方案中添加一个新的Windows Forms Project,然后根据您的需要创建Windows / GUI。

完成后,在该项目中创建一个新类,它将处理您当前在原始控制台应用程序中执行的操作。将当前static void Main(string[] args){ ... }中的所有内容复制到这样的方法中,在此方法中将数据作为列表返回:

public List<string> GetData(){
    // ...

    List<string> data = new List<string>();
    while (reader.Read())
    {
        data.Add(reader["total"].ToString());
    }

    return data; 
}

现在,您可以在先前创建的GUI中使用该结果字符串列表。


PS:SQL查询看起来不是很重/慢,但如果是,您可能希望稍后将获取拆分为单独的任务或线程。这有助于避免在等待查询完成时锁定GUI。

答案 2 :(得分:0)

  1. 创建一个常规的C#控制台应用程序或打开一个自己的应用程序。
  2. 将以下两个引用添加到项目中,并在主源文件的顶部添加相应的“using”语句:  *使用System.Drawing  *使用System.Windows.Forms
  3. 从Main()函数中删除“args”字符串数组参数。
  4. 添加“Application.EnableVisualStyles();”作为Main()函数中的第一个调用。
  5. 将项目的“输出类型”从“控制台应用程序”更改为“Windows应用程序”。

    class Program:System.Windows.Forms.Form  
    {
     static void Main()
       {
      Application.EnableVisualStyles();
      Application.Run(new Program());
       }
    }