收藏 分销(赏)

可视化程设计[1].Windows编程基础.ppt

上传人:仙人****88 文档编号:10305102 上传时间:2025-05-21 格式:PPT 页数:43 大小:2.28MB
下载 相关 举报
可视化程设计[1].Windows编程基础.ppt_第1页
第1页 / 共43页
可视化程设计[1].Windows编程基础.ppt_第2页
第2页 / 共43页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,-,基于,C#,语言,主讲教师:夏浩波,本课学时:,40,课时,Windows,程序设计,1.1 Windows,和窗体,本章学习目标:,理解,Windows,窗体,使用基本控件如标签、文本、按钮、列表框和组合框,掌握窗体的常用属性和方法,GUI,界面,控件,1.1 Windows,和窗体,各种控件,属性,放置控件的区域,1.1 Windows,和窗体,WinForms,应用程序可能存在多个窗体,用于获取用户输入的数据和向用户显示数据,System.Windows.Forms,1.1 Windows,和窗体,1.1.2,创建,WinForms,应用程序,“,开始”,“程序”,“,Microsoft Visual Studio.NET 2005”,“Microsoft Visual Studio.NET 2005”,创建,WinForms,应用程序,6-2,设计窗口,1.1.2,创建,WinForms,应用程序,using System;,using System.Drawing;,using System.Collections;,using System.ComponentModel;,using System.Windows.Forms;,namespace SampleProject,/,/Form1,的摘要说明。,/,public class Form1:System.Windows.Forms.Form,/,/,必需的设计器变量,.,/,提供了大量绘图工具的访问权限,基础核心命名空间,ArrayList,、,BitArray,、,Hashtable,、,Stack,、,StringCollection,和,StringTable,类,大量窗体和控件,从,System.Windows.Forms.Form,派生,Visual Studio.NET,生成的代码,1.1.2,创建,WinForms,应用程序,private System.ComponentModel.Container components=null;,public Form1(),/,/Windows,窗体设计器支持所必需的,/,InitializeComponent();,/,/TODO,:在,InitializeComponent,调用之后,添加任何构造函数代码,/,构造函数调用,InitializeComponent(),方法,/,下面代码见:,Form1.Designer.cs,文件,private void InitializeComponent(),ponents=new System.ComponentModel.Container();,this.Size=new System.Drawing.Size(300,300);,this.Text=Form1;,项目的容器,创建,WinForms,应用程序,/,/,清理所有正在使用的资源。,【,下面代码:,Form1.Designer.cs】,/,protected override void Dispose(bool disposing),if(disposing),if(components!=null),components.Dispose();,base.Dispose(disposing);,释放系统资源,1.1.2,创建,WinForms,应用程序,/,下面代码见:,program.cs,文件,STAThread,static void Main(),Application.Run(new Form1();,程序的主入口点,1.1.3 WinForms,中的常用控件,可视化界面,组件统称为,控件,System.Windows.Forms.Control,System.Windows.Forms,Control,ButtonBase,Button,CheckBox,Label,ListControl,ComboBox,ListBox,TextBoxBase,TextBox,RadioButton,1.1.3 WinForms,中的常用控件,标签,按钮,组合框,列表框,文本框,标签,属性,说明,Text,该属性用于设置或获取与该控件关联的文本,方法,说明,Hide,隐藏控件,,,调用该方法时,即使,Visible,属性设置为,True,,控件也不可见,Show,相当于将控件的,Visible,属性设置为,True,并显示控件,事件,说明,Click,用户单击控件时将发生该事件,1.1.3 WinForms,中的常用控件,标签控件,按钮控件,文本框控件,列表控件,组合框控件,private void linkLabel1_LinkClicked(object sender,LinkLabelLinkClickedEventArgs e),linkLabel1.LinkVisited=true;,Form2 newform=new Form2();,newform.Show();,this.Hide();,private void linkLabel2_LinkClicked(object sender,LinkLabelLinkClickedEventArgs e),/label2.Visible=true;,label2.Show();,private void linkLabel3_LinkClicked(object sender,LinkLabelLinkClickedEventArgs e),label2.Visible=false;,label2.Hide();,案例:窗口的打开和关闭,文本框,属性,说明,MaxLength,可在文本框中输入的最大字符数,Multiline,表示是否可在文本框中输入多行文本,Passwordchar,机密和敏感数据,密码输入字符,ReadOnly,文本框中的文本为只读,Text,检索在控件中输入的文本,方法,说明,Clear,删除现有的所有文本,事件,说明,KeyPress,用户按一个键结束时将发生该事件,1.1.3 WinForms,中的常用控件,按钮,属性,说明,Enabled,确定是否可以启用或禁用该控件,方法,说明,PerformClick,Button,控件的,Click,事件,事件,说明,Click,单击按钮时将触发该事件,1.1.3 WinForms,中的常用控件,案例:用户登录设计,private void button2_Click(object sender,EventArgs e),clear();,private void button1_Click(object sender,EventArgs e),if(textBox1.Text=string.Empty|textBox2.Text=string.Empty),MessageBox.Show(,信息禁止为空!,登录提示,);,clear();,return;,if(!textBox1.Text.Equals(admin)|!textBox2.Text.Equals(admin),MessageBox.Show(,用户名称或密码为空!,登录提示,);,clear();,return;,else,MessageBox.Show(,欢迎您登录本系统!,消息提示,);,clear();,public void clear(),textBox1.Clear();,textBox2.Clear();,textBox2.Focus();,列表框,属性,Items,SelectionMode,SelectedIndex,SelectedItem,SelectedItems,Text,方法,ClearSelected,事件,SelectedIndexChanged,1.1.3 WinForms,中的常用控件,使用列表框(,1,),private void Form1_Load(object sender,EventArgs e),this.listBox1.Items.Add(,软件部,);,this.listBox1.Items.Add(,硬件部,);,this.listBox1.Items.Add(,财务部,);,this.listBox1.Items.Add(,人事部,);,private void listBox1_SelectedIndexChanged(object sender,EventArgs e),MessageBox.Show(,您选择的部门是:,+listBox1.SelectedItem.ToString()+,,位列第,+listBox1.SelectedIndex.ToString(),信息提示,);,使用列表框(,2,),private void button1_Click(object sender,EventArgs e),listBox1.Items.Clear();,listBox1.Items.Add(,软件部,);,listBox1.Items.Add(,硬件部,);,listBox1.Items.Add(,财务部,);,listBox1.Items.Add(,人事部,);,private void button2_Click(object sender,EventArgs e),listBox1.Items.Insert(2,插入值,);,label1.Text=,已经添加,+listBox1.Items.Count.ToString()+,条记录,;,组合框,属性,说明,DropDownStyle,ComboBox,控件的样式,MaxDropDownItems,下拉区显示的最大项目数,方法,说明,Selectx,在,ComboBox,控件上选定指定范围的文本,1.1.3 WinForms,中的常用控件,使用组合框,private void Form1_Load(object sender,EventArgs e),boBox1.Items.Add(,财务部,);,boBox1.Items.Add(,产品部,);,boBox1.Items.Add(,销售部,);,boBox1.Items.Add(,生产部,);,/,默认的选择是,产品部,boBox1.SelectedIndex=1;,boBox2.Items.Add(,财务部,);,boBox2.Items.Add(,产品部,);,boBox2.Items.Add(,销售部,);,boBox2.Items.Add(,生产部,);,/,默认的选择是,产品部,boBox2.SelectedIndex=1;,boBox3.Items.Add(,财务部,);,boBox3.Items.Add(,产品部,);,boBox3.Items.Add(,销售部,);,boBox3.Items.Add(,生产部,);,/,默认的选择是,产品部,boBox3.SelectedIndex=1;,消息框窗口,MessageBox.Show(“,消息文本,);,消息框,用于显示消息,Abort,Cancel,Ignore,No,None,Ok,Retry,和,Yes,if(MessageBox.Show(“,保存文件”,“,保存,MessageBoxButtons.YesNo,MessageBoxIcon.Information,MessageBoxDefaultButton.Button1)=DialogResult.Yes),/,保存文件所用的代码,/,保存后的,MessageBox,1.1.3 WinForms,中的常用控件,消息框窗口,重载方法,Show(string text);,Show(string text,string caption);,Show(string text,string caption,MessageBoxButtons buttons);,Show(string text,string caption,MessageBoxButtons buttons,MessageBoxIcon icon);,private void button1_Click(object sender,EventArgs e),MessageBox.Show(,嘿,这是简单提示!,信息提示,);,private void button2_Click(object sender,EventArgs e),DialogResult result=MessageBox.Show(,嘿,这是问询提示!,问询提示,MessageBoxButtons.YesNo);,if(result=DialogResult.Yes),label1.Text=,您选择了,YES;,else,label1.Text=,您选择了,NO;,private void button3_Click(object sender,EventArgs e),DialogResult result=MessageBox.Show(,嘿,这是带有图标的问询提示!,问询提示,MessageBoxButtons.YesNoCancel,MessageBoxIcon.Question,MessageBoxDefaultButton.Button3,MessageBoxOptions.RightAlign);,if(result=DialogResult.Yes),label1.Text=,您选择了图标,YES;,else if(result=DialogResult.Cancel),label1.Text=,您选择了图标取消,;,else if(result=DialogResult.No),label1.Text=,您选择了图标,NO;,应用程序示例,解决方案资源管理器,属性,窗口,工具箱,应用程序示例,private void btnAdd_Click(object sender,System.EventArgs e),private void btnAdd_Click(object sender,System.EventArgs e),this.txtEmpName.Enabled=true;,this.txtAddress.Enabled=true;,this.cboDesignation.Enabled=true;,this.lstCurrDeptName.Enabled=true;,private void btnCancel_Click(object sender,System.EventArgs e),this.txtEmpName.Text=;,this.txtAddress.Text=;,this.cboDesignation.Text=“,经理,;,private void btnExit_Click(object sender,System.EventArgs e),string str=;,for(int ctr=0;ctr=this.lstCurrDeptName.SelectedItems.Count-1;ctr+),str+=n+this.lstCurrDeptName.SelectedItemsctr.ToString();,MessageBox.Show(“,选定的项目为,n+str);,Application.Exit();,应用程序示例,private void cboDesignation_SelectedIndexChanged,(object sender,System.EventArgs e),MessageBox.Show(“,您已经选定了,+,this.cboDesignation.SelectedItem.ToString();,在退出应用程序之前,使用,MessageBox.Show(),显示在,str,变量中存储选定项的消息框,图标,系统按钮,System.Windows.Forms,Control,ScrollableControl,ContainerControl,Form,标题栏,控件,1.1.4,窗体容器简介,1.1.4,窗体容器简介,SDI,单文档界面,MDI,多文档界面,1.1.5,窗体的属性,属性,StartPosition,初始窗口位置,CancelButton,按下,esc,键后执行那个按钮,。,ControlBox,确定系统是否有图标和最大最小关闭按钮,。,FormBorderStyle,指定边框和标题栏的外观和行为,。,HelpButton,确定窗体的标题栏上是否有帮助按钮,。,KeyPreview,确定窗体键盘事件是否已经向窗体注册,。,MainMenuStrip,确定键盘激活和多文档合并,。,ShowInTaskbar,确定窗体是否出现在任务栏中,。,WindowState,确定窗体的初始可视状态,。,1.1.5,窗体的常用方法和事件,方法,Activate,当窗体被激活时候发生,MdiChildActivate,当,MDI,子窗体被激活时候发生,事件,Activated,Closed,Closing,Load,示例:显示另一窗体,示例:显示另一窗体,被调用的窗体类,窗体实例,=new,被调用的窗体类,();,窗体实例,.Show();,下面,在菜单的单击事件中写下如下的事件。,private void menuItem3_Click(object sender,EventArgs e),Form2 Mdichild=new Form2();,Mdichild.MdiParent=this;,Mdichild.Show();,当然,需要再建立两个窗体对象,,form2,和,form3,窗体,示例,1,:在,form2,窗体中进行如下操作,单击“发送”按钮,应用程序示例,首先,将,form2,的,comboBox1,下拉框填充完毕后,增加,load,事件,private void Form2_Load(object sender,EventArgs e),comboBox1.SelectedIndex=0;,textBox3.Text=;,textBox1.Focus();,其次,添加,form2,的发送信息事件,public void button1_Click(object sender,EventArgs e),if(textBox1.Text=|textBox2.Text=|comboBox1.Text=),MessageBox.Show(,姓名,或者邮件,或者提交,信息禁止为空!,信息提示,);,else,this.Hide();,Form3 childform3=new Form3(this.textBox1.Text,this.textBox2.Text,boBox1.SelectedItem.ToString(),this.textBox3.Text);,childform3.Show();,最后关闭窗体事件:,private void button2_Click(object sender,EventArgs e),this.Close();,应用程序示例,对于,form3,窗体而言,在系统初始事件填写如下代码:,public partial class Form3:Form,private string _name;,private string _emailId;,private string _subject;,private string _feedBack;,public Form3(,string varName,string varEmail,string varSubject,string varFeedBack,),InitializeComponent();,/,在,private,变量中存储值,this._name=varName;,this._emailId=varEmail;,this._subject=varSubject;,this._feedBack=varFeedBack;,/,在列表框中放置值,listBox1.Items.Add(,姓名:,+this._name);,listBox1.Items.Add(,邮件地址:,+this._emailId);,listBox1.Items.Add(,信息主题:,+this._subject);,listBox1.Items.Add(,反馈意见:,+this._feedBack);,private void button1_Click(object sender,EventArgs e),MessageBox.Show(,感谢您输入的反馈!,);,this.Close();,示例,2,:在,MDI,父窗口中,子窗口如何彼此之间传递信息?,代码见下,示例,3,:如何防止重复打开子窗体啊?,方法:,直接检测是否已经打开此,MDI,窗体,/,是否已经打开了?(用循环来判断),foreach(Form childrenForm in this.MdiChildren),/,检测是不是当前子窗体名称,if(childrenForm.Name=,子窗体名称,),/,是的话就是把他显示,childrenForm.Visible=true;,/,并激活该窗体,childrenForm.Activate();,return;,/,下面是打开子窗体,Form1 childrenForm=new Form1();,childrenForm.MdiParent=this;,childrenForm.Show();,childrenForm.WindowState=FormWindowState.Maximized;,示例,4,:另一种窗体之间的传值技巧(一),传单个值,1,、先在,Form2,中定义一个成员变量和一个属性如下:,private string form2zhi=null;public string Form2ChuanZhi get return form2zhi;2,、再在,Form3,中定义一个成员变量和一个属性如下:,private string form3zhi=null;public string Form3ChuanZhi set form3zhi=value;get return form3zhi;,3,、双击,btn_ChuanZhi,在这个事件中写入以下代码(主要是显示,Form3,窗体和将,Form2,中的值传过去):,Form3 form3=new Form3();form3.Form3ChuanZhi=form2zhi;/,将值传过去,form3.Show();,代码见下,示例,5,:另一种窗体之间的传值技巧(二),类保存任意值,代码见下,总结,WinForms,可用于,Windows,窗体应用程序开发,Windows,窗体控件是从,System.Windows.Forms.Control,类派生的类,标签控件用于显示用户不能编辑的文本或图像,按钮控件提供用户与应用程序交互的最简便方法,组合框控件是列表框控件和文本框控件的组合,用户可以键入文本,也可以从所提供的列表中选择项目,窗体提供了收集、显示和传送信息的界面,是,GUI,的重要元素,消息框显示消息,用于与用户交互,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服