笔记与心得:Windows Form
----------------------以下为我在黑马程序员学习期间整理的笔记和心得,期待与您交流! ----------------------
1.winform:WindowsForm的简称,是.NET中用来开发Windows窗口程序的技术,无论是winform控制台程序还是ASP.NET都要调用.NET框架
2.控件:窗口上有许多元素是相似的,因此将这些元素抽象为一些类,这些类就叫做控件
常见控件有:
Label 标签
Button 按钮
TextBox 文本框
ListBox 下拉框
CheckBox 复选框
RadioButton 单选按钮
ComboBox 组合框
Picturebox 显示图像的容器
3.控件共有的属性、方法和事件
(1)主要属性有:
1).尺寸控制,主要有size(控制控件的高低宽窄);
2)位置控制,主要有location(控件的位置)等;
3)颜色和字体控制,主要有BackColor(背景颜色)、ForeColor(前景颜色)、Font(字体)等;
4)名称控制,主要有Name(控件名字即类的实例化的字段名);
5)文本,主要有Text(显示的文本)、Textalign(文本的对齐方式)、Textimagelation(文本与照片的关系)
6)其它,主要有Enabled(决定该控件是否可用,true或 False)、Visible(决定控件是否可以被看见,true或false),cursor(鼠标进入的显示样子)
(2)主要方法:
Close()关闭
Show()显示
Hide()隐藏
Focus()聚焦
(3)事件:
Click:双击事件
4.TextBox:
属性:
MaxLength:用户能够输入的最大字符数
Multiline:是否可以多行显示
PasswordChar:掩码
ReadOnly:文本框内容只读
ScrollBars:滚动条
WordWrap:是否自动换行
多行文本框的的复加值:
textBox1.AppendText(DateTime.Now.ToString()+"\n");
//多行文本框中显示当前时间
5.PictureBox 图像显示容器
属性:
Image:设置显示的图片
SizeMode:显示样式,有四个可选项
Visible:是否显示图片(true或者false)
eg.页面上有一张图片,默认(visible=false)是隐藏的用户在文本框中输入年龄,点击按钮,若是年龄>18则显示图片
string strID = txtID.Text; string RegexTest = @"^\d{18}$";//判断18位纯数字身份证的正则表达式 if (Regex.IsMatch(strID, RegexTest) == true)//如果格式正确匹配成功 { string strYear = strID.Substring(6, 4);//截取出生年份的字符串 int year = Convert.ToInt32(strYear); //将string强制转换成int if (DateTime.Now.Year - year >= 18)//DateTime.Now.Year取当前年份 { Pic.Visible = true; //让图片变为可视 return;//退出当前方法 } else { Pic.Visible = false; //让图片隐藏 MessageBox.Show("年龄太小了,不能够查看"); } } else { Pic.Visible = false; MessageBox.Show("身份证格式错误,应该是18位的全数字"); return; }
6.ComboBox:
属性:Items:组合框中的内容
DropDownStyle: DropDownList(只能选不能写)
DropDown(能选能改)
Combobox.selectedIndex:选中文本在组合框中的第几项
Combobox.selectedItem:选中文本的内容
7.eg1.拖放控件,输入姓名,点击按钮,窗口标题上显示问号
string name = txtName.Text;//定义一个变量存储文本框中的内容 this.Text = name + "你好!";//this表示当前类,在这里即为当前的窗口
8.登录界面,登录错误三次,程序退出(admin 8888)
首先需要在类下面定义类字段:
private int errorTimes = 0; 然后: string userName = txtName.Text; string passWord = txtPass.Text; if (userName == "admin" && passWord == "8888") { MessageBox.Show("登陆成功"); errorTimes = 0; //若是输出正确了,需要将错误次数清0 } else { errorTimes++; //局部变量每次运行完毕变量的值都会被销毁,下次再运行,会重新初始化。 //而类字段,只要是一个对象,那么只要对象不销毁,就会一直保持对象的字段值。 if (userName != "admin") { MessageBox.Show("用户名错误"); } else { MessageBox.Show("密码错误"); } if (errorTimes>= 3) { MessageBox.Show("登录错误次数太多,程序退出"); this.Close(); //关闭程序(Applocation.Exit()也是表示程序关闭) } }
9.在多行文本框中输入多行”姓名=成绩”格式的额数据,要求输出成绩最高学生的姓名和成绩
string[] lines = txtScore.Lines; //利用多行文本框的lines属性,将每一行的内容存在字符串数组lines中 string maxName = " "; int maxScore = -1; foreach (string line in lines) //读取lines数组中的每一行 { string[] remove = line.Split('='); //按照”=”进行分割 string name = remove[0] ; //”=”左边的为名字 string strscore = remove[1]; int score = Convert.ToInt32(strscore); //将string转换成int if (score> maxScore) //若果当前行的成绩大于最大成绩,则交换 { maxName = name; maxScore = score; } } MessageBox.Show(string.Format("最高分是{0},最高分为{1}", maxName, maxScore.ToString()));
10.简单的四则运算器
string strNum1 = txtNum1.Text; string strNum2 = txtNum2.Text; double result; //考虑到除法运算的时候,肯能不是整除,所以定义为double int num1, num2; //试图转换输入的内容,若是可以转换则返回true并输出装换内容 //若是不可以转换,则返回false if (int.TryParse(strNum1, out num1) == false) { MessageBox.Show("数据1格式错误"); //使用return只是跳出当前这个方法,不再进行下面内容不会终止程序 return; } if (int.TryParse(strNum2, out num2) == false) { MessageBox.Show("数据2显示错误"); return; } switch (cb操作符.SelectedIndex)//选中内容的索引,及为第几项 { case 0: //0表示第一项,第一项为+ result = num1 + num2; break; case 1: result = num1 - num2; break; case 2: result = num1 * num2; break; case 3: //第四项为/,法中规定被除数不能为0 if (num2 == 0) { txtResult.Text = ""; MessageBox.Show("被除数不能够为0"); return; } else result = num1 / (1.0 * num2); break; default: throw new Exception("未知的运算符"); break; } txtResult.Text = result.ToString(); //文本框中的内容是字符串格式的
11.省市选择器
cb市.Items.Clear(); //清空旧数据 string 省 = Convert.ToString(cb省.SelectedItem); //将选中的内容转换成string if (省 == "湖南")//若是选中的省=”湖南”,则向对应的cb市里添加内容 { cb市.Items.Add("岳阳"); cb市.Items.Add("长沙"); cb市.Items.Add("湘潭"); } if (省 == "河南") { cb市.Items.Add("焦作"); cb市.Items.Add("洛阳"); cb市.Items.Add("郑州"); } if (省 == "广东") { cb市.Items.Add("东莞"); cb市.Items.Add("广州"); cb市.Items.Add("深圳"); }