【C#】 WinForm窗体应用程序学习笔记 (一)

您所在的位置:网站首页 项目管理器中的关闭按钮用于关闭一个 【C#】 WinForm窗体应用程序学习笔记 (一)

【C#】 WinForm窗体应用程序学习笔记 (一)

#【C#】 WinForm窗体应用程序学习笔记 (一)| 来源: 网络整理| 查看: 265

WinForm窗体应用程序学习笔记(一)

由于控制台应用程序的运行结果都是通过控制台输出的,不能提供良好的用户体验,为此,C#提供了WinForm窗体应用程序。WinForm具有一系列丰富的控件,用于创建基于Windows的应用程序。每一个控件模型都相当于一个类,通过继承和扩展这些控件类来使Windows界面变的更加好看、更加具有交互性。

友情链接:

WinForm窗体应用程序学习笔记(一)WinForm窗体应用程序学习笔记(二)WinForm窗体应用程序学习笔记(三) WinForm项目的文件结构

我们首先打开VS新建项目,创建Windows桌面窗体应用程序:

修改完程序名称点击右下角确定即创建了一个WinForm程序,然后我们看VS界面最右边的“解决方案资源管理器”,这里面显示了WinForm的文件结构:

从上图中可以看到WinForm项目的文件包括五个部分:

Properties : 设置项目属性引用 :设置对其他项目命名空间的引用App.config :设置数据库的配置信息Form1.cs :设置窗体界面以及编写逻辑代码Program.cs :设置项目运行时的主窗体

深入了解Form1.cs和Program.cs两个文件的作用

1)Form1.cs 由Form1.cs[设计]界面与Form1.cs逻辑代码两部分构成

a . Form1.cs[设计]界面:

以上gif图演示了 设计界面 的使用方法,即用户可以通过拖动工具箱中的控件对窗体界面进行设计。

b . Form1.cs逻辑代码:

逻辑代码部分为了与用户之间做交互。

c . Form1.Designer.cs文件:

用于在窗体类中自动生成控件的初始化代码,例如我们刚刚将Button按钮拖拽到From1.cs窗体上,在这个文件中会自动生成一段代码。如下图所示:

d . Form1.resx文件:

用于资源导入,通过该文件导入资源,无需引用外部文件。

2)Program.cs文件

是WinForm程序的主入口,如下图所示:

控件的常用属性和事件

在C#中,所有的控件都直接或间接继承自Control类,Control类中提供了许多属性,这些属性都是控件的共同特征,具体如下表所示:

Control类的常用属性 属性说明Name指示代码中用来标识该对象的名称Text

与控件关联的文本

Visible确定该控件是可见的还是隐藏的BackColor该控件的背景颜色Cursor指针移过该控件时显示的光标Dock定义要绑定到容器的控件边框Enable指示是否启用该控件Font用于显示控件中文本的字体ForeColor此控件的前景色,用于显示文本Size控件的大小Tag与对象关联的用户定义数据TextAlign将在控件上显示的文本的对齐方式

在Control类中,除了定义属性,还定义事件。根据用户的操作引发相应的事件,开发人员可以根据不同的事件来编写具体的处理方法。具体如下表所示:

Control类的常用事件 事件说明Load窗体加载时被触发Click单击控件时发生MouseEnter在鼠标进入控件的可见部分时发生MouseLeave在鼠标离开控件可见部分时发生BackColorChanged在控件的BackColor属性值更改时引发的事件FontChanged在控件的Font属性值更改时引发的事件 创建第一个WinForm应用程序!

成品效果:

创建项目过程上文中有写,这里不再贴出……

所以直接从“向窗体中添加控件”开始,在工具箱里面找到“Label”文本标签与Button按钮,拖入Form1.cs[设计]页面。如下图所示:

然后点击F4调开属性,设置Label的属性,将其Name属性改为“IbInfo”,Text属性设置为“如果你点到我,游戏就结束了”,如下图所示:属性在右下角!

 同样的,将Button按钮的Name属性设置为“btnMe”,Text属性设置为“你点得到我?”,如下图所示:

这些属性设置完成之后,接着来实现一下控件事件的响应方法,点击【属性】窗口的“类似闪电”图标的按钮,默认情况下,Button按钮的“Click”事件会被选中。我们希望当鼠标移动至按钮上时,按钮立即变换自己的位置,所以在这里我们选中MouseEnter,双击一下啊;然后我们希望点到按钮之后,立即退出程序,所以我们选中MouseClick,双击一下。之后我们会发现Form1.cs文件中多了两个“方法”!如下图所示:

现在看到的btnMe_MouseClick()与btnMe_MouseEnter()都是空方法。为了让控件能够响应用户操作,我们在这个文件中完善一下方法代码:

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace first { public partial class Form1 : Form { public Form1() { InitializeComponent(); } //鼠标进入按钮显示界面时,执行此方法 private void btnMe_MouseEnter(object sender,EventArgs e) { //产生随机数 Random r = new Random(); //为Left属性赋值,该属性表示控件左边缘与容器左边缘的距离 btnMe.Left = r.Next(0, this.Width - btnMe.Width - 5); //返回一个指定范围内随机数,并赋值给btnMe对象的Top属性 btnMe.Top = r.Next(0, this.Height - btnMe.Height - 5); } private void btnMe_MouseClick(object sender, MouseEventArgs e) { this.Close(); } } }

至此,我们的WinForm简单小程序已经制作完成!

程序bug:随机数稍有不甚,按钮会越出窗口~

部分内容参考自《C#程序设计基础入门教程》——传智播客高教产品研发部



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3