如何将此控制台应用程序转换为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。
我已经尝试了两种方法而且我的失败可怕!
答案 0 :(得分:1)
更改项目设置...
应用---> OutPut类型 - >窗口应用程序(代替控制台应用程序)
添加命名空间:
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)
将项目的“输出类型”从“控制台应用程序”更改为“Windows应用程序”。
class Program:System.Windows.Forms.Form
{
static void Main()
{
Application.EnableVisualStyles();
Application.Run(new Program());
}
}