WinForm基础知识

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

WinForm基础第一个WinForm程序WinForm:.Net中用来开发Windows程序的技术,无论是之前学的控制台程序,还是后面要学的ASP.Net都是调用.Net框架,因此知识点都是一样的。新建一个Windows项目:Windows→Windows窗体应用程序控件:窗口上很多元素都是相似的,因此将这些元素抽象为一些类,这些类就叫做控件(例:识别PowerPoint中的控件)。添加、删除、移动、缩放控件WinForm概念拖放控件,输入姓名,单击按钮,窗口标题显示问好。设置窗口对象的属性就可以改变窗口的外观。点击按钮调用TextBox的Hide方法,调用控件的方法就可以使得按钮发生动作。WinForm概念当用户点击按钮的时候button1_Click方法被调用,这个方法不是程序员调用的,而是程序员把方法写好,并且说明“当用户点击按钮的时候执行button1_Click方法中的代码”,这一点和控制台程序不同。这被称为“好莱坞”原则:不要找我,我会找你(Don’tcallme,Iwillcallyou)控件、属性、事件、事件处理方法、控件的名字(控件的实例;对象名)简单的WinForm程序简单的加法计数器,用户在文本框1、2中输入两个整数,点击按钮,在文本框3中显示两个数的和,如果1或者2中的数据格式错误,弹出对话框提示错误。int.TryParse、MessageBox.Show。。strings=string.Format({0}你好,textBox1.Text);//推荐练习1:输入宽和高,输出面积。练习2:输入Email地址,输出用户名和域名。简单的WinForm程序练习3:用户在文本框1、2中输入两个数,点击按钮,在文本框3中显示从文本框1中的数字到文本框2中的数字之间的累加和。如果文本框1中的数字比文本框2中的数字大,则弹出对话框提示错误。练习4:页面上有一个文本框,文本框左侧和右侧各有一个按钮,点击左侧按钮,文本框中的文字向左循环滚动一次;点击右侧按钮,文本框中的文字向右循环滚动一次。简单的WinForm程序练习5:页面上有一张图片,默认是隐藏的(Visible=False),用户在文本框中输入身份证号(131226198105223452),点击按钮,如果年龄大于18岁显示图片(Visible=True),否则提示年龄太小。取当前年份:DateTime.Now.Year。简单的加法计数器简单的加法计数器privatevoidbutton1_Click(objectsender,EventArgse){stringstr1=textBox1.Text;stringstr2=textBox2.Text;inti1,i2;if(!int.TryParse(str1,outi1))//int.TryParse(str1,outi1)==false{MessageBox.Show(第一个数不是合法的整数);return;//不要忘了return,退出函数}if(int.TryParse(str2,outi2)==false){MessageBox.Show(第二个数不是合法的整数);return;}inti3=i1+i2;textBox3.Text=Convert.ToString(i3);//i3.ToString();}privatevoidbutton1_Click(objectsender,EventArgse){stringemail=textBox1.Text;string[]strs=email.Split('@');if(strs.Length!=2){MessageBox.Show(非法的Email地址);return;}textBox2.Text=strs[0];textBox3.Text=strs[1];}输入Email地址,输出用户名和域名。输入两个数,求累加和privatevoidbutton1_Click(objectsender,EventArgse){stringstr1=textBox1.Text;stringstr2=textBox2.Text;inti1,i2;if(int.TryParse(str1,outi1)==false){MessageBox.Show(数字1格式错误);return;}if(int.TryParse(str2,outi2)==false){MessageBox.Show(数字1格式错误);return;}if(i1=i2){MessageBox.Show(第二个数大于第一个数);//排错技巧:在出错的地方设置断点,看相关变量的值。return;}intsum=0;for(inti=i1;i=i2;i++){sum=sum+i;}textBox3.Text=sum.ToString();}滚动文本privatevoidbutton1_Click(objectsender,EventArgse){stringstr=textBox1.Text;inti=str.Length;textBox1.Text=str.Substring(1,i-1)+str.Substring(0,1);}privatevoidbutton2_Click(objectsender,EventArgse){stringstr=textBox1.Text;inti=str.Length;textBox1.Text=str.Substring(i-1,1)+str.Substring(0,i-1);}privatevoidbutton1_Click(objectsender,EventArgse){strings=textBox1.Text.ToString().Substring(6,4);inti=DateTime.Now.Year-int.Parse(s);if(i=18)pictureBox1.Visible=true;elsepictureBox1.Visible=false;}显示图片输入Email地址,输出用户名和域名。TextBox文本框的几种模式:Multiline(多行)、PasswordChar(密码)。将文本框的PasswordChar设为*就是密码框效果,将MultiLine属性设置为true并且将高度拉到合适的大小就是多行效果,附加一行:textBox4.AppendText(hello+\n)。控件名要有含义、控件名前缀的“潜规则”:按钮Button-btn;文本框Textbox-txt;复选框CheckBox-cb。控件名称一定要有意义。TextBox案例1:登录界面。登录错误三次退出程序。假设用户名/密码是admin/888888,不区分大小写。(易错点:局部变量与类变量)。退出程序Close()或Application.Exit()。案例2:修改密码。界面上有旧密码、新密码,重复新密码。假设旧密码为888888,两次输入的新密码必须和旧密码不一样,并且两次输入的新密码必须一致。TextBox案例3:在多行文本框中多行“姓名=成绩”格式的数据,要求输出成绩最高的学生的姓名和成绩。ComboBoxSelectedIndex:选中项的序号。没有任何选中的时候是-1,否则是选中的序号(0开始)练习1:简单的四则运算器。如何禁止用户编辑?三种风格。相应选中改变事件练习2:省市选择器练习3:日月选择器,假设2月份总是28天,1、3、5、7、8、10、12是31天,其它是30天。表驱动。ListBoxListBox:SelectedIndex、Items、SelectedIndexChanged事件。多选的方式,设置SelectionMode为MultiExtendListBox:SelectedIndices、SelectedItem、SelectedItems、SelectionMode;案例:人员选择,左边选择到右边、右边退回左边、批量添加。遇到的问题,删除顺序,计算机的思维。ListBox问题:删除自动生成的事件代码。先在事件视图中删除方法名,再到代码中删除;先删除form.cs中的,再去手动删除designer.cs中。计时器TimerTimer。每隔一段时间触发一个事件。不可视控件。Inerval、Enabled。Tick事件。计量单位:ms(毫秒)1秒=1000毫秒DateTime案例:小时钟。取当前时间DateTime.Now.ToString();案例:走马灯案例:QQ消息窗口。如何显示其他窗口。右下角提示信息窗口Windows坐标系:左上角为原点;窗口的Left值为窗口左上角的横坐标,Top值为窗口左上角的纵坐标;窗口的Width为宽度,Width为高度。取得屏幕工作区Screen.GetWorkingArea(this)将窗口显示在右下角,简单的数学运算。滑动提示窗口创建一个Timer,每隔一段时间修改一下Top的值,当全部显示出来的时候禁用Timer。对外提供提供SlideShow(Stringcaption,Stringmsg)方法超时自动关闭。滑动隐藏。Timer接力。鼠标点击则取消“超时自动隐藏”。树状结构数据TreeView控件树的基本概念:父节点、子节点、兄弟节点、根节点编辑节点,节点名字Name,节点文字Text动态添加节点(VS编辑界面中有增加根节点、增加子节点两个按钮):TreeView控件–向根节点下增加子节点:treeView.Nodes.Add,它的返回值就是创建的节点对象。treeView.Nodes代表根节点的所有子节点。–向TreeNode增加子节点,treeNode.Nodes.Add,它的返回值就是创建的节点对象。treeNode.Nodes代表节点的所有子节点。练习:构建省市县三级树首先treeView.Nodes.Add添加省节点。并且把添加的节点TreeNode对象放到treeNodeLiaoning等变量中向treeNodeLiaoning等省级节点下添加市节点,并且把添加的节点TreeNode对象放到treeNodeShenYang等变量中向treeNodeShenYang等市节点下增加区县节点。TreeView深入选择项发生变化的时候在TextBox中显示当前选择项的值。AfterSelect事件。TreeNode的Tag,TreeNode中Text只能盛放显示的值,可以用Tag属性给节点关联一个对象。Tag属性是Object类型的,因此可以关联任何的对象。案例:省市县显示当前项的邮编练习:选择节点的时候显示市长、人口(int)类型。容器控件GroupBoxPanelTabControl(增删Tab页,设定激活的页)其他常用控件RadioButton:Checked。CheckedChanged和Click事件的区别CheckBoxCheckedListBoxDateTimePicker。PictureBox作业:开发注册页面。数据合法性判断:Email、密码强度实时显示。带协议、同意协议CheckBox。文件对话框打开文件对话框OpenFileDialog两种创建方式:可视化拖放、new显示对话框的方式:ShowDialogShowDialog的返回值DialogResult类型通过FileName属性得到选择的文件名属性:Title、InitialDirectory文件过滤器Filter:文本文件|*.txt|All|*.*SaveFileDialog。OpenFileDialog相同的成员:Title、ShowDialog、FileName等。列表(非范型)数组的局限性:无法对数据中的数据进行动态的增删。ArrayList(列表)。Add、Clear、Contains、Count、IndexOf、Insert、Remove、Re

1 / 45
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功