- FrmMain.cs 中的 partial(部分的) 和 FrmMain.Designer.cs 中的 partial 一样,不是一个类的修饰符,是限定这个类本身的组成部分,叫做部分类。当程序在编译和运行时,会把 FrmMain.cs 中的 FrmMain 类 和 FrmMain.Designer.cs 中的 FrmMain 类会编译成一个类。
- 如果想使用控制台查看运行结果,在项目右键属性-->应用程序输出类型-->控制台应用程序
- 窗体代码由两部分构成:窗体的直接代码 Form1.cs 和设计器生成的代码 Form1.Designer.cs,一般 Form1.Designer.cs 的代码我们不需要去动它。
- 解释一下这句代码 this.btnTest.Click += new System.EventHandler(this.btnTest_Click); 这里的 btnTest.Click 是一个事件委托,通过 += 多播的形式,记录所有的点击事件。这里的 this.btnTest_Click 其实就是 FrmMain.cs 代码中生成的事件方法。
-
private void btnTest_Click(object sender, EventArgs e) {Console.WriteLine("点击了按钮");MessageBox.Show("点击了按钮"); }
事件处理程序(函数)
参数1: 绑定事件的这个控件(比如上面的代码中sender实际上就是代指按钮1这个控件,但实际使用时,因为这里是object类型,因此需要进行强制转换例如Button b1=(Button)sender )
参数2: 事件对象 不同的事件,拥有不同的事件对象 -
下拉框的重要事件:SelectedIndexChanged :当用户选择的下拉项改变的时候发生
-
合理使用消息提示框,因为每次弹出都需要用户去做处理,弹出的频率和次数过高,用户也是会感觉很反感的。现在大多数的提示后可以在界面上直接提示,比如:登录注册时,直接在文本框的后面显示红色的小字提示。
-
参数1: 提示信息
MessageBox.Show("弹出框");
参数2:设置弹出框的标题
MessageBox.Show("弹出框","窗口标题");
参数3:设置一个MessageBoxButtons类型的枚举参数4:设置图标
参数5:设置默认第几个按钮是默认选中的
MessageBox.Show("弹出框", "窗口标题",MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk,MessageBoxDefaultButton.Button2); -
MessageBox的返回值,是枚举类型,可以通过判断枚举的类型来进行下一步操作(如下)
private void button1_Click(object sender, EventArgs e){DialogResult res =MessageBox.Show("确认退出吗","退出页面", MessageBoxButtons.AbortRetryIgnore);if(res==DialogResult.Abort)System.Environment.Exit(0);}
-
创建密码文本框:
(1)UseSystemPasswordChar属性设置为True。
(2)PasswordChar属性设置为`*`。(可选 设置后调用系统自带`*`较丑)
-
winform文字转语音 先添加引用,然后写入命名空间using System.Speech.Synthesis;创建朗读类 private SpeechSynthesizer testvoice; testvoice.Speech("朗读文本即可");还有音色合成,速度等高阶玩法,需自行搜索。
-
ToolTip控件 添加该控件后可以鼠标移动控件(如按钮,或窗体)提示一句话(以气泡形式显示),注意,要先打开ToolTip控件的OwnerDraw属性为true,然后创建ToolTip的Draw事件,最后气泡显示的内容自定义,在要提示的控件上的属性==>杂项==>tooltip上的toc定义(如button),tooltip的draw事件代码如下:
private void toolTip1_Draw(object sender, DrawToolTipEventArgs e){e.Graphics.FillRectangle(Brushes.Lime, e.Bounds);e.DrawText();}
-
OpenFileDialog和SaveFileDialog设置默认保存类型用.Filter属性去设置,注意如果用判断要写到判断外,
Filter
属性通常包含两个部分,用竖线|
分隔:第一部分是文件类型描述,它会显示在文件对话框的下拉列表中;第二部分是由括号包围的文件扩展名,用于过滤显示的文件类型。在这个"文本文件|*.(txt)中,只有.txt
文件会被显示。最全版本 "文本文件 (*.txt)|*.txt;*.bak|*.log|*.csv" + "图像文件 (*.bmp;*.jpg;*.jpeg;*.png)|*.bmp;*.jpg;*.jpeg;*.png" + "文档文件 (*.doc;*.docx)|*.doc;*.docx" + "可执行文件 (*.exe)|*.exe" + "所有文件 (*.*)|*.*"; -
单选框RadioButton,在同一组容器中,一组RadioButton只能有一个选中状态,因此当我们在一个页面有两组以上单选框,可以使用容器分开,推荐使用panel和groupbox
-
Panel的最大作用是可以直接在页面设置器上直接将控件添加到Contral属性中,所有置于Panel内的控件会作为一个整体进行管理和操作,简化了用户界面的设计与维护。