




已阅读5页,还剩403页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,-基于C#语言,主讲教师:钱哨a本课学时:72课时联系方式:qianshao,Windows程序设计,.,课程地位,综合基础课程,SQLServer,XML,AjaxJavascriptusingSystem.Drawing;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Windows.Forms;namespaceSampleProject/Form1的摘要说明。/publicclassForm1:System.Windows.Forms.Form/必需的设计器变量./,提供了大量绘图工具的访问权限,基础核心命名空间,ArrayList、BitArray、Hashtable、Stack、StringCollection和StringTable类,大量窗体和控件,从System.Windows.Forms.Form派生,VisualStudio.NET生成的代码,.,1.1.2创建WinForms应用程序,privateSystem.ComponentModel.Containercomponents=null;publicForm1()/Windows窗体设计器支持所必需的/InitializeComponent();/TODO:在InitializeComponent调用之后添加任何构造函数代码/,构造函数调用InitializeComponent()方法,/下面代码见:Form1.Designer.cs文件privatevoidInitializeComponent()ponents=newSystem.ComponentModel.Container();this.Size=newSystem.Drawing.Size(300,300);this.Text=Form1;,项目的容器,.,创建WinForms应用程序,/清理所有正在使用的资源。【下面代码:Form1.Designer.cs】/protectedoverridevoidDispose(booldisposing)if(disposing)if(components!=null)components.Dispose();base.Dispose(disposing);,释放系统资源,.,1.1.2创建WinForms应用程序,/下面代码见:program.cs文件STAThreadstaticvoidMain()Application.Run(newForm1();,程序的主入口点,.,1.1.3WinForms中的常用控件,可视化界面组件统称为控件,System.Windows.Forms.Control,.,1.1.3WinForms中的常用控件,标签,按钮,组合框,列表框,文本框,.,标签,1.1.3WinForms中的常用控件,标签控件,按钮控件,文本框控件,列表控件,组合框控件,.,privatevoidlinkLabel1_LinkClicked(objectsender,LinkLabelLinkClickedEventArgse)linkLabel1.LinkVisited=true;Form2newform=newForm2();newform.Show();this.Hide();privatevoidlinkLabel2_LinkClicked(objectsender,LinkLabelLinkClickedEventArgse)/label2.Visible=true;label2.Show();privatevoidlinkLabel3_LinkClicked(objectsender,LinkLabelLinkClickedEventArgse)label2.Visible=false;label2.Hide();,案例:窗口的打开和关闭,.,文本框,1.1.3WinForms中的常用控件,.,按钮,1.1.3WinForms中的常用控件,.,案例:用户登录设计,privatevoidbutton2_Click(objectsender,EventArgse)clear();privatevoidbutton1_Click(objectsender,EventArgse)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;elseMessageBox.Show(欢迎您登录本系统!,消息提示);clear();publicvoidclear()textBox1.Clear();textBox2.Clear();textBox2.Focus();,.,列表框,1.1.3WinForms中的常用控件,.,使用列表框(1),privatevoidForm1_Load(objectsender,EventArgse)this.listBox1.Items.Add(软件部);this.listBox1.Items.Add(硬件部);this.listBox1.Items.Add(财务部);this.listBox1.Items.Add(人事部);,privatevoidlistBox1_SelectedIndexChanged(objectsender,EventArgse)MessageBox.Show(您选择的部门是:+listBox1.SelectedItem.ToString()+,位列第+listBox1.SelectedIndex.ToString(),信息提示);,.,使用列表框(2),privatevoidbutton1_Click(objectsender,EventArgse)listBox1.Items.Clear();listBox1.Items.Add(软件部);listBox1.Items.Add(硬件部);listBox1.Items.Add(财务部);listBox1.Items.Add(人事部);privatevoidbutton2_Click(objectsender,EventArgse)listBox1.Items.Insert(2,插入值);label1.Text=已经添加+listBox1.Items.Count.ToString()+条记录;,.,组合框,1.1.3WinForms中的常用控件,.,使用组合框,privatevoidForm1_Load(objectsender,EventArgse)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.3WinForms中的常用控件,.,消息框窗口,.,privatevoidbutton1_Click(objectsender,EventArgse)MessageBox.Show(嘿,这是简单提示!,信息提示);privatevoidbutton2_Click(objectsender,EventArgse)DialogResultresult=MessageBox.Show(嘿,这是问询提示!,问询提示,MessageBoxButtons.YesNo);if(result=DialogResult.Yes)label1.Text=您选择了YES;elselabel1.Text=您选择了NO;,privatevoidbutton3_Click(objectsender,EventArgse)DialogResultresult=MessageBox.Show(嘿,这是带有图标的问询提示!,问询提示,MessageBoxButtons.YesNoCancel,MessageBoxIcon.Question,MessageBoxDefaultButton.Button3,MessageBoxOptions.RightAlign);if(result=DialogResult.Yes)label1.Text=您选择了图标YES;elseif(result=DialogResult.Cancel)label1.Text=您选择了图标取消;elseif(result=DialogResult.No)label1.Text=您选择了图标NO;,.,应用程序示例,解决方案资源管理器,属性窗口,工具箱,.,应用程序示例,privatevoidbtnAdd_Click(objectsender,System.EventArgse),privatevoidbtnAdd_Click(objectsender,System.EventArgse)this.txtEmpName.Enabled=true;this.txtAddress.Enabled=true;this.cboDesignation.Enabled=true;this.lstCurrDeptName.Enabled=true;,privatevoidbtnCancel_Click(objectsender,System.EventArgse)this.txtEmpName.Text=;this.txtAddress.Text=;this.cboDesignation.Text=“经理;,privatevoidbtnExit_Click(objectsender,System.EventArgse)stringstr=;for(intctr=0;ctr=this.lstCurrDeptName.SelectedItems.Count-1;ctr+)str+=n+this.lstCurrDeptName.SelectedItemsctr.ToString();MessageBox.Show(“选定的项目为n+str);Application.Exit();,.,应用程序示例,privatevoidcboDesignation_SelectedIndexChanged(objectsender,System.EventArgse)MessageBox.Show(“您已经选定了+this.cboDesignation.SelectedItem.ToString();,在退出应用程序之前,使用MessageBox.Show()显示在str变量中存储选定项的消息框,.,图标,系统按钮,标题栏,控件,1.1.4窗体容器简介,.,1.1.4窗体容器简介,SDI单文档界面MDI多文档界面,.,1.1.5窗体的属性,.,1.1.5窗体的常用方法和事件,.,示例:显示另一窗体,.,示例:显示另一窗体,被调用的窗体类窗体实例=new被调用的窗体类();,窗体实例.Show();下面,在菜单的单击事件中写下如下的事件。,privatevoidmenuItem3_Click(objectsender,EventArgse)Form2Mdichild=newForm2();Mdichild.MdiParent=this;Mdichild.Show();,当然,需要再建立两个窗体对象,form2和form3窗体,.,示例1:在form2窗体中进行如下操作,单击“发送”按钮,.,应用程序示例,首先,将form2的comboBox1下拉框填充完毕后,增加load事件privatevoidForm2_Load(objectsender,EventArgse)comboBox1.SelectedIndex=0;textBox3.Text=;textBox1.Focus();其次,添加form2的发送信息事件publicvoidbutton1_Click(objectsender,EventArgse)if(textBox1.Text=|textBox2.Text=|comboBox1.Text=)MessageBox.Show(姓名,或者邮件,或者提交,信息禁止为空!,信息提示);elsethis.Hide();Form3childform3=newForm3(this.textBox1.Text,this.textBox2.Text,boBox1.SelectedItem.ToString(),this.textBox3.Text);childform3.Show();最后关闭窗体事件:privatevoidbutton2_Click(objectsender,EventArgse)this.Close();,.,应用程序示例,对于form3窗体而言,在系统初始事件填写如下代码:publicpartialclassForm3:Formprivatestring_name;privatestring_emailId;privatestring_subject;privatestring_feedBack;publicForm3(stringvarName,stringvarEmail,stringvarSubject,stringvarFeedBack)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);privatevoidbutton1_Click(objectsender,EventArgse)MessageBox.Show(感谢您输入的反馈!);this.Close();,.,示例2:在MDI父窗口中,子窗口如何彼此之间传递信息?,代码见下,.,示例3:如何防止重复打开子窗体啊?,方法:直接检测是否已经打开此MDI窗体/是否已经打开了?(用循环来判断)foreach(FormchildrenForminthis.MdiChildren)/检测是不是当前子窗体名称if(childrenForm.Name=子窗体名称)/是的话就是把他显示childrenForm.Visible=true;/并激活该窗体childrenForm.Activate();return;/下面是打开子窗体Form1childrenForm=newForm1();childrenForm.MdiParent=this;childrenForm.Show();childrenForm.WindowState=FormWindowState.Maximized;,.,示例4:另一种窗体之间的传值技巧(一)传单个值,1、先在Form2中定义一个成员变量和一个属性如下:privatestringform2zhi=null;publicstringForm2ChuanZhigetreturnform2zhi;2、再在Form3中定义一个成员变量和一个属性如下:privatestringform3zhi=null;publicstringForm3ChuanZhisetform3zhi=value;getreturnform3zhi;,3、双击btn_ChuanZhi在这个事件中写入以下代码(主要是显示Form3窗体和将Form2中的值传过去):Form3form3=newForm3();form3.Form3ChuanZhi=form2zhi;/将值传过去form3.Show();,代码见下,.,示例5:另一种窗体之间的传值技巧(二)类保存任意值,代码见下,.,Winform界面美化技巧,1、从附件资料中确认有第三方动态链接库文件DotNetSkin.dll或者IrisSkin2.dll,这两个文件是第三方开发设计的Winform界面美化的主要文件,2、打开VS2005,展开工具箱,右键点击界面选择“添加选项卡”,新建选项卡“皮肤”,.,Winform界面美化技巧,4、在工具箱项窗口点击“浏览”,导入第三方动态链接库文件DotNetSkin.dll或者IrisSkin2.dll,两个dll都是一样的用,不同的是DotNetSkin.dll用的皮肤文件是*.skn,IrisSkin2.dll是用的*.ssk,3、在工具箱的新建选项卡“皮肤”里面单击右键,选择“选择项”,将展开选择工具箱项,.,Winform界面美化技巧,5、则在工具箱的皮肤选项卡内将出现皮肤控件。,5、皮肤文件的基本用法是:拖拽任何一个皮肤控件到某个窗体上面,进行如下的编码:namespaceporjectnamepublicpartialclassForm1:FormpublicForm1()InitializeComponent();this.skinEngine1.SkinFile=*.ssk;或是this.skinUI1.SkinFile=*.skn;,.,Winform界面美化技巧,namespaceWindowsApplication1publicpartialclassForm7:FormpublicForm7()InitializeComponent();/this.skinEngine1.SkinFile=*.ssk;/stringpath=Environment.CurrentDirectory+skn皮肤LE4-DEFAULT.skn;this.skinUI1.SkinFile=path;,有关ssk文件和skn文件库,请参见附件文件库中相关文件,.,总结,WinForms可用于Windows窗体应用程序开发Windows窗体控件是从System.Windows.Forms.Control类派生的类标签控件用于显示用户不能编辑的文本或图像按钮控件提供用户与应用程序交互的最简便方法组合框控件是列表框控件和文本框控件的组合,用户可以键入文本,也可以从所提供的列表中选择项目窗体提供了收集、显示和传送信息的界面,是GUI的重要元素消息框显示消息,用于与用户交互,.,-基于C#语言,主讲教师:钱哨本课学时:72课时联系方式:qianshao,Windows程序设计,.,回顾,WinForms可用于Windows窗体应用程序开发Windows窗体控件是从System.Windows.Forms.Control类派生的类标签控件用于显示用户不能编辑的文本或图像按钮控件提供用户与应用程序交互的最简便方法组合框控件是列表框控件和文本框控件的组合,用户可以键入文本,也可以从所提供的列表中选择项目窗体提供了收集、显示和传送信息的界面,是GUI的重要元素消息框显示消息,用于与用户交互,.,第二章、WinForms控件,本章主要内容介绍2.1WinForms的高级控件2.2单(多)文档操作及菜单,CONTENT,.,本节学习目标:,使用WinForms中的高级控件单选按钮图片框选项卡控件滚动条进度条ImageList控件ToolBar控件StatusBar控件Timer控件TreeView控件ListView控件,2.1Winforms的高级控件,.,2.1.1单选按钮(radioButton),Windows窗体单选按钮控件以组的形式使用单选按钮允许用户从多个选项中选择一个选项,.,2.1.1单选按钮(radioButton),如何按功能分组Windows窗体RadioButton控件?,1、在一个容器(如Panel控件、GroupBox控件或窗体)内绘制单选按钮即可将它们分组。2、若要添加不同的组,必须将它们放到面板或分组框中。,步骤:1、从“工具箱”的“Windows窗体”选项卡中,将GroupBox或Panel控件拖到窗体上。2、在GroupBox或Panel控件上绘制RadioButton控件。3、代码见下。,.,2.1.2图片框,图片框控件表示可用于显示图像的Windows图片框控件,显示位图、元文件、图标、JPEG、GIF或PNG等格式的图形,是一种图形显示控件,图片框,.,2.1.2图片框,练习1:使用设计器加载图片(Windows窗体)练习2:运行时候修改图片大小和位置,publicForm1()InitializeComponent();showpic();publicvoidshowpic()pictureBox1.Image=Image.FromFile(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal)+image.gif);pictureBox1.SizeMode=System.Windows.Forms.PictureBoxSizeMode.StretchImage;privatevoidpictureBox1_Click(objectsender,EventArgse)if(pictureBox1.Image!=null)pictureBox1.Image.Dispose();pictureBox1.Image=null;elseshowpic();,.,2.1.3选项卡控件,在Windows应用程序中,选项卡用于将相关的控件集中在一起,放在一个页面中选项卡控件用于显示多个选项卡,其中每个选项卡均可包含图片和其他控件选项卡相当于另一个窗体,可以容纳其他控件,选项卡控件,.,选项卡控件的属性,.,选项卡控件的属性,.,设定选项卡的数目,或者,综合应用程序示例(一),.,设定选项卡的提示信息,总选项卡设计,分选项卡属性设计,综合应用程序示例(二),.,统计页面操作基本信息,privatevoidtabControl1_SelectedIndexChanged(objectsender,EventArgse)label1.Text=当前操作统计信息为:页面为第+this.tabControl1.SelectedIndex.ToString()+页,选项卡页为+tabControl1.SelectedTab.Text+,共有页数+tabControl1.TabCount.ToString();,综合应用程序示例(三),.,综合应用程序示例(四),使用窗体接受职员的个人信息和职业信息将使用单选按钮、图片框和选项卡控件应用程序提供有两个选项卡页第一个选项卡页显示个人信息的文本框,.,综合应用程序示例(四),第二个选项卡页显示职员信息的文本框,.,综合应用程序示例(五),选项卡的基本操作,.,2.1.4进度条,用于指示操作的进度、完成的百分比外观是排列在水平条中的一定数目的矩形,.,进度条的属性和方法,案例见下:,.,进度条练习1:加载数据库练习,privatevoidbutton1_Click(objectsender,EventArgse)stringsqlstring=DataSource=(local);InitialCatalog=zrzx;UserID=sa;SqlConnectionconn=newSqlConnection(sqlstring);stringsql=select*fromtbl_advice;SqlCommandcmd=newSqlCommand(sql,conn);SqlDataAdapteradp=newSqlDataAdapter();adp.SelectCommand=cmd;DataSetds=newDataSet();adp.Fill(ds);conn.Dispose();conn.Close();conn=null;label1.Visible=true;progressBar1.Visible=true;progressBar1.Minimum=0;progressBar1.Maximum=ds.Tables0.Rows.Count;progressBar1.BackColor=Color.Red;for(inti=0;ids.Tables0.Rows.Count;i+)progressBar1.Value+;Application.DoEvents();this.label1.Text=progressBar1.Value.ToString();,.,2.1.6ImageList控件,ImageList控件的属性和方法,位于Systems.Windows.Forms命名空间内,imgImageList1.Images.Add(Image.FromFile(picture.gif);this.picMyPicture.Image=this.imgImageList1.Images0;,在ImageList控件中添加图像的代码,Image类的FromFile()方法用于手动将图像文件添加到ImageList控件中,.,2.1.6ImageList控件,练习,第一步:加载imagelist控件注意配置imagesize属性,第二步:配置images属性,添加图片信息,第三步:添加一个toolbar控件,第四步:指定toolbar的imagelist控件对象,并添加具体的button对象。,.,两个类,ToolBar,ToolBarButton,2.1.7ToolBar控件,ToolBar类的属性和事件,ToolBarButton类的属性和事件,.,工具栏示例,创建名为Example1的Windows应用程序。将Form1.cs更改为frmToolBarExample.cs。将ToolBar控件拖动到窗体上,并将它命名为tbrToolBar。选择Buttons属性,并单击按钮以显示“ToolBarButton集合编辑器”窗口。添加三个按钮。,添加了三个按钮,输出屏幕,privatevoidtbrToolBar_ButtonClick(objectsender,System.Windows.Forms.ToolBarButtonClickEventArgse)if(e.Button=this.tbrToolBar.Buttons0)MessageBox.Show(“已单击“打开”按钮);,处理ButtonClick事件的代码,.,案例,第一步:添加toolbar控件,第二步:设置toolbar属性,第三步:添加5个button,第四步:添加imagelist控件,第五步:配置imagelist的images属性,privatevoidForm2_Load(objectsender,EventArgse)toolBar1.ImageList=imageList;toolBarButton1.ImageIndex=0;toolBarButton2.ImageIndex=1;toolBarButton3.ImageIndex=2;toolBarButton4.ImageIndex=3;toolBarButton5.ImageIndex=4;,.,2.1.8statusStrip控件,StatusStripStatusLabel使用文本和图像向用户显示应用程序当前状态的信息。,案例:统计文本字数信息【代码见下】,.,2.1.8statusStrip控件,案例:c#winForm将窗体状态栏StatusStrip分成左中右三部分右边显示当前时间,通过StatusStrip显示窗体状态栏同时将状态栏分成三部分居左边显示相关文字信息中间空白显示居右边显示时间信息【具体实现见下】,.,2.1.8statusStrip控件,案例:c#StatusStrip通过什么方式显示进度?,.,2.1.9Timer控件简介,03:15:04,在应用程序中显示实际时间,按指定的时间长度显示图像,需要一种可在程序运行时操控时间的机制,WinForms的Timer控件,.,2.1.9Timer控件简介,拖放,.,2.1.9Timer控件简介,对特定的时刻响应,按照某个周期触发事件,与用户无关,可以通过编程,在规定的时刻执行相应动作,组件与其他控件不同,它不向用户提供用户界面,因此没有必要显示在WinForms设计器的界面上,Timer类包含在System.Windows.Forms命名空间中,.,2.1.9Timer控件的必要性,Timer控件为开发人员提供了一种在经过指定的时间间隔或到达指定的绝对时间时根据代码进行响应的方式,.,2.1.9Timer控件的属性、方法和事件,Timer控件名的前缀是tmr“,例如:tmrTicker,tmrTickTimer,.,Timer控件应用程序示例1,要求显示计算机运行的时间长度和应用程序运行的时间长度,.,Timer控件应用程序示例1,动画演示:移动的画面,privatevoidbutton1_Click(objectsender,EventArgse)timer1.Start();privatevoidbutton2_Click(objectsender,EventArgse)timer1.Stop();privatevoidtimer1_Tick(objectsender,EventArgse)pictureBox1.Left-=5;if(pictureBox1.Right0)pictureBox1.Left=Width;,.,Timer控件应用程序示例2,publicclassfrmTickCounter:System.Windows.Forms.FormprivateintcompuTime;.,为窗体声明一个私有整型变量,privatevoidfrmTickCounter_Load(objectsender,System.EventArgse)compuTime=Environment.TickCount;,frmTickCounter窗体的Load事件,.,Timer控件应用程序示例2,privatevoidtmrTickTimer_Tick(objectsender,System.EventArgse)longcurTickValue=Environment.TickCount;longdifference=curTickValue-compuTime;longcomputerHours,computerMinutes,computerSeconds;longapplicationHours,applicationMinutes,applicationSeconds;/将毫秒转换成小时、分钟和秒computerHours=(curTickValue/(3600*999)%24;computerHours=(curTickValue/(3600*999)%24;computerMinutes=(curTickValue/(60*999)%60;computerSeconds=(curTickValue/999)%60;applicationHours=(difference/(3600*999)%24;applicationMinutes=(difference/(60*999)%60;applicationSeconds=(difference/999)%60;,应用程序中使用的局部变量,将毫秒转换成小时、分钟和秒,.,Timer控件应用程序示例2,this.lblComputer.Text=String.Format(“这台计算机已经开机0小时,1分钟2秒,computerHours.ToString(),computerMinutes.ToString(),computerSeconds.ToString();this.lblApplication.Text=String.Format(“这个程序已经运行了0小时,1分钟2秒,applicationHours.ToString(),applicationMinutes.ToString(),applicationSeconds.ToString();,显示每个标签的输出结果,privatevoidbtnClose_Click(objectsender,System.EventArgse)this.Close();,关闭应用程序,.,Timer控件应用程序示例3,流失的时间:,1.用.net建立一个Windows应用程序2.在项目下添加一个类命名为“Time“3.编写“Time“类得实现代码4.在窗体中放两个Label控件和一个时钟(Timer)控件5.编写窗体得Load事件和(Timer)控件的Tick事件【代码见下】,.,2.1.10ListView控件,可折叠的TreeView,ListView,选择列出项目的视图类型,.,2.1.10ListView控件,创建与Windows资源管理器的右窗口相似的用户界面,可用于以特定样式或视图类型显示列表项,四种视图模式,即大图标、小图标、列表和详细资料,.,ListView控件的属性和方法,ListView控件名的前缀是“lvw“,如:lvwList,lvwListItems,.,Column集合和Column对象,ListView控件的Columns属性表示控件中出现的所有列标题的集合列标题是ListView控件中包含标题文本的一个项ColumnHeader对象定义在控件的View属性设置为“Details”值时,作为ListView控件的一部分显示的那些列如果ListView控件没有没有任何列标题,并且View属性设置为Details,则ListView控件不显示任何项,.,ListView控件的编辑列,组和项,案例1、编辑列,.,ListView控件的编辑列,组和项,案例1、编辑列,.,ListView控件的编辑列,组和项,案例1、编辑列,.,项集合和项对象,ListView控件的Items属性表示包含控件中所有项的集合该属性返回ListView.ListViewItemCollection,可以用于ListView中添加新项、删除项或计算可用项数,.,案例2、添加删除记录,privatevoidForm2_Load(objectsender,EventArgse)ColumnHeaderobjheader=newColumnHeader();objheader.Text=姓名;objheader.TextAlign=HorizontalAlignment.Center;objheader.Width=40;listView1.Columns.Add(objheader);privatevoidbutton1_Click(objectsender,EventArgse)listView1.Columns.Add(年龄,40,HorizontalAlignment.Center);listView1.Columns.Add(班级,40,HorizontalAlignment.Center);listView1.Columns.Add(性别,40,HorizontalAlignment.Center);listView1.Columns.Add(职业,40,HorizontalAlignment.Center);button1.Enabled=false;privatevoidbutton2_Click(objectsender,EventArgse)listView1.Columns.Remove(listView1.Columns1);,.,案例3:,案例见下:,.,案例4:清除列、全部、显示某行信息,privatevoidbutton4_Click(objectsender,EventArgse)this.listView1.Clear();privatevoidbutton5_Click(objectsender,EventArgse)listView1.Items.Clear();privatevoidlistView1_SelectedIndexChanged(objectsender,EventArgse)foreach(ListViewItemlstinlistView1.SelectedItems)/在这里对lst进行处理,lst代表每一个被选中的ListViewItemMessageBox.Show(lst.Text);/这里示例显示每一个被选中的项的第一列的文本,通过代码生成见下,.,案例5:从数据库之中读取数据,并在listview之中显示,.,2.1.11TreeView控件,.,2.1.12TreeView控件,用于以节点形式显示文本或数据,这些节点按层次结构顺序排列,Windows资源管理器中左窗格所包含的目录和文件是以树型视图样式排列的,在TreeView控件中,复选框和图标可以和文本一起显示,.,节点集和节点对象,TreeView控件的Nodes属性表示为TreeView控件指定的树节点集树节点集中的每个树节点对象可包括它本身的树节点集树节点集中Add()、Remove()和RemoveAt()方法使开发人员可添加和移动集中的单个树节点,.,添加、修改和删除节点,TreeView控件以层次结构方式显示节点在将新节点添加到现有TreeView时,重要的是注意新节点所添加到的父节点可用设计器模式或用户界面在TreeView上添加或删除节点,.,添加、修改和删除节点,在窗体上选择已存在的TreeView控件或在窗体上添加一个新控件,在“属性”窗口中单击节点属性旁的省略号()按钮,调用树节点编辑器,添加到树的第一个节点是根节点,其他节点可添加到存在根节点的树上,通过选择根节点或任何其他节点,然后单击“添加子级”按钮,可为树添加子节点,要使用树节点编辑器删除节点,请重复步骤1和2。调用树节点编辑器,然后选择要删除的节点,单击“删除”,.,添加、修改和删除节点,可通过编程方式向TreeView添加节点,TreeNodechNode=newTreeNode(Textfornewnode);tvwTree1.Nodes.Add(chNode);,可通过编程方式从TreeView删除节点,.tvwTree1.Nodes.Remove(tvwTree1.currNode);/清除所有节点tvwTree1.Nodes.Clear();,如果没有选定要删除的节点,则会删除根节点,.,TreeView控件的事件,TreeView控件名的前缀是tvw,如:tvwTree,tvwList,.,TreeView案例1,1、加入子节点:,加入子节点的具体过程是:首先要在TreeView组件中定位要加入的子节点的位置,然后创建一个节点对象,然后利用TreeVeiw类中对节点的加入方法(即:Add()方法),加入此节点对象。treeView1.SelectedNode.Nodes.Add(tmp);,2、加入兄弟节点:,treeView1.SelectedNode.Parent.Nodes.Add(tmp);,3、删除节点:,删除节点的具体过程是:首先判断要删除的节点是否存在下一级节点,如果不存在,就调用TreeView类中的Remove()方法,就可以删除节点了。treeView1.SelectedNode.Remove();,.,TreeView案例1,4、TreeView组件的一些其他常用操作:,展开所有节点:/定位根节点treeView1.SelectedNode=treeView1.Nodes0;/展开组件中的所有节点treeView1.SelectedNode.ExpandAll();,展开选定节点的下一级节点:treeView1.SelectedNode.Expand();,折叠所有节点:/定位根节点treeView1.SelectedNode=treeView1.Nodes0;/折叠组件中所有节点treeView1.SelectedNode.Collapse();,.,TreeView案例1,5、LISTVIEW实际案例:,代
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家政培训与管理制度
- 应急局应急管理制度
- 录播室教室管理制度
- 得利斯财务管理制度
- 德力西绩效管理制度
- 心里咨询室管理制度
- 快递规运输管理制度
- 思明区市政管理制度
- 总机班安全管理制度
- 患者自备药管理制度
- 院感风险评估与管理
- 语言学导论智慧树知到答案2024年广东外语外贸大学
- DL∕T 1909-2018 -48V电力通信直流电源系统技术规范
- 博士高校面试答辩模板
- JT-T-1211.1-2018公路工程水泥混凝土用快速修补材料第1部分:水泥基修补材料
- 上海市嘉定区2023-2024学年三年级下学期期末数学试卷
- DL-T5181-2017水电水利工程锚喷支护施工规范
- 在线网课知道知慧《战舰与海战》单元测试答案
- 走近核科学技术智慧树知到期末考试答案2024年
- 钢结构36米桁架吊装安全监理实施细则1
- 西铁城操作说明书
评论
0/150
提交评论