C# WinForm是一款GUI创作工具,它是使用微软.NET框架的库进行开发的,该框架允许开发者创建Windows GUI应用程序,包括丰富的控件和底层API,与类似Windows控制台程序相比,WinfForm应用程序具有更好的用户交互性、可定制性和易用性。本文将详细介绍如何使用C# WinForm框架进行开发,同时提供实际案例来帮助您更好的掌握这款开发工具。
一、使用方法
1.1 环境配置
在开始使用C# WinForm之前,您需要安装Visual Studio 2019或者更高版本,该软件可以从微软官网中免费下载。安装完成后,您需要添加.NET框架对应的SDK。
1.2 项目创建
打开Visual Studio,点击"新建项目"选择"Windows Forms App (.NET Framework)",输入项目名称并选择项目所在位置。
1.3 界面设计
在主界面设计操作区,您可以使用工具箱中的控件来创建您需要的Winform应用程序。WinForm提供了很多预置的控件,由于篇幅所限在此不一一详细介绍,大致涵盖了:
文本框、标签、按钮、提交框、网格、列表桑、下拉框、日期选择器、栏、面板、画布、文本编辑器、浏览器、绘图表等等。
1.4 事件绑定
在WinForm的控件上添加事件绑定,可以使用属性窗口以及在代码页面中进行。选择控件之后,在选择器所打开的属性窗口中可以找到"事件"一项,您可以选择需要绑定的事件从而在代码中添加预置模板,以处理事件发生时的相应操作。例如,在按钮上添加"Click"事件,可以添加如下代码:
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello, world!");
}
1.5 编译执行
WinForm应用程序编译后,可以运行在Windows操作系统上。调试时,您可以通过按下"F5"键来启动调试过程,从而在开发过程中及时发现代码中的错误。
二、案例说明
下面,我们将结合实际情况,提供3个案例来说明WinForm框架的使用方法。
2.1 计算器
计算器是一个简单而典型的WinForm例子。
在WinForm应用程序中,添加NumericUpDown控件、ComboBox控件、以及按钮等元素,然后为按钮控件添加Click事件:
private void btnCalc_Click(object sender, EventArgs e)
{
decimal num1 = numOpd1.Value;
decimal num2 = numOpd2.Value;
string operatorr = comboBox1.Text;
switch (operatorr)
{
case "+":
label1.Text = (num1 + num2).ToString();
break;
case "-":
label1.Text = (num1 - num2).ToString();
break;
case "*":
label1.Text = (num1 * num2).ToString();
break;
case "/":
label1.Text = (num1 / num2).ToString();
break;
}
}
在这个例子中,我们使用了几个基本的控件,按钮、文本框、下拉框以及标签。
2.2 读取网页
这个例子是从网站爬取网页,并将网页响应内容显示在WinForm窗体中。
我们可以创建一个WebClient控件,并为其添加一个"DownloadProgressChanged"事件和一个"DownloadStringCompleted"事件。
在DownloadProgressChanged事件中,我们可以更新进度条控件来显示进度;在DownloadStringCompleted事件中,我们可以将收到的内容显示在WinForm应用程序的文本框中。
private void button1_Click(object sender, EventArgs e)
{
WebClient client = new WebClient();
Uri uri = new Uri(textBox1.Text);
client.DownloadProgressChanged +=
new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
client.DownloadStringCompleted +=
new DownloadStringCompletedEventHandler(client_DownloadStringCompleted);
client.DownloadStringAsync(uri);
}
private void client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
progressBar1.Value = e.ProgressPercentage;
}
private void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error != null)
{
MessageBox.Show(e.Error.Message);
}
else
{
richTextBox1.Text = e.Result;
}
}
在这个例子中,我们使用了WebClient控件、进度条、文本框以及错误消息框控件。这个例子是撰写网络爬虫程序的基础。
2.3 SQL Server
这个例子中,我们从SQL Server数据库中读取数据和更新数据。
由于篇幅所限,这里不对SQL语句做详细介绍,我们在需要读写数据库时,添加了一个数据表控件和一组文本框控件、以及按钮控件。
private void btnQuery_Click(object sender, EventArgs e)
{
string sql = "SELECT * FROM Students";
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "Students");
dataGridView1.DataSource = ds.Tables["Students"];
conn.Close();
}
private void btnUpdate_Click(object sender, EventArgs e)
{
string sql = "UPDATE Students SET Name=@Name WHERE Id=@Id";
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@Name", txtName.Text);
cmd.Parameters.AddWithValue("@Id", txtID.Text);
cmd.ExecuteNonQuery();
conn.Close();
}
在这个例子中,我们使用了SQL Server数据库控件、数据表控件以及文本框和按钮控件。这个例子为使用数据库的WinForm应用程序提供了参考。
总结
本文详细介绍了C# WinForm框架的使用方法,并提供了三个实用示例,其中第一个实例是一个简单的计算器应用程序,第二个实例是一个爬虫程序,用于从网站获取数据并在WinForm窗体中呈现,第三个实例是一个数据库连接应用程序,用于读写SQL Server数据库。WinForm是一款易用、免费、快速的WinForm开发工具,适用于从个人爱好者到企业级应用的开发者。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/
发表评论 取消回复