CSharpWinForm实践开发教程课件全

上传人:无*** 文档编号:181496533 上传时间:2023-01-14 格式:PPT 页数:408 大小:15.89MB
收藏 版权申诉 举报 下载
CSharpWinForm实践开发教程课件全_第1页
第1页 / 共408页
CSharpWinForm实践开发教程课件全_第2页
第2页 / 共408页
CSharpWinForm实践开发教程课件全_第3页
第3页 / 共408页
资源描述:

《CSharpWinForm实践开发教程课件全》由会员分享,可在线阅读,更多相关《CSharpWinForm实践开发教程课件全(408页珍藏版)》请在装配图网上搜索。

1、-基于C#语言主讲教师:钱 哨a本课学时:72课时联系方式:Windows程序设计课程地位综合基础课程SQL ServerXMLAjax Javascript&XMLASP.NETOracleRSSComputer BaseHTML&JavaScriptOOPJavaCDatabase BaseJSP/ServletEJB/WebServiceC#Struts/JSFTesting/SQALinuxWinForms第一章、Windows编程基础n本章主要内容介绍1.1 windows和窗体1.2 Visual S IDE简介1.3 事件处理CONTENTs1.1 Windows和窗体 本章学习

2、目标:本章学习目标:理解 Windows 窗体 使用基本控件如标签、文本、按钮、列表框和组合框 掌握窗体的常用属性和方法GUI界面控件1.1 Windows和窗体 各种控件属性放置控件的区域1.1 Windows和窗体 WinForms应用程序可能存在多个窗体,用于获取用户输入的数据和向用户显示数据System.Windows.Forms 简单而强大 改善了接口和基类 IntelliSense 新的管理数据提供程序 安全 灵活的控件 通晓数据 向导1.1 Windows和窗体 1.1.2 创建 WinForms应用程序“开始”“程序”“Microsoft Visual Studio.NET 2

3、005”“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/必需的设计器变量./提供了大量绘图工具的访

4、问权限基础核心命名空间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

5、 调用之后添加任何构造函数代码/构造函数调用 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

6、(bool disposing)if(disposing)if(components!=null)components.Dispose();base.Dispose(disposing);释放系统资源1.1.2 创建 WinForms应用程序/下面代码见:program.cs文件STAThreadstatic void Main()Application.Run(new Form1();程序的主入口点 1.1.3 WinForms 中的常用控件可视化界面组件统称为控件System.Windows.Forms.Control System.Windows.FormsControlButtonBa

7、seButtonCheckBoxLabelListControlComboBoxListBoxTextBoxBaseTextBoxRadioButton1.1.3 WinForms 中的常用控件 标签按钮组合框列表框文本框标签属性说明Text该属性用于设置或获取与该控件关联的文本方法说明 Hide隐藏控件,调用该方法时,即使 Visible 属性设置为 True,控件也不可见 Show 相当于将控件的 Visible 属性设置为 True 并显示控件事件说明 Click用户单击控件时将发生该事件1.1.3 WinForms 中的常用控件 标签控件标签控件按钮控件按钮控件文本框控件文本框控件列表

8、控件列表控件组合框控件组合框控件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();priv

9、ate void linkLabel3_LinkClicked(object sender,LinkLabelLinkClickedEventArgs e)label2.Visible=false;label2.Hide();案例:窗口的打开和关闭文本框属性说明MaxLength 可在文本框中输入的最大字符数 Multiline 表示是否可在文本框中输入多行文本 Passwordchar 机密和敏感数据,密码输入字符 ReadOnly 文本框中的文本为只读Text 检索在控件中输入的文本方法说明 Clear删除现有的所有文本 事件说明KeyPress用户按一个键结束时将发生该事件 1.1.3

10、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.Empt

11、y)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();列表框属性属性ItemsSelectionMode Sele

12、ctedIndex SelectedItemSelectedItems 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

13、_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.Ad

14、d(财务部);listBox1.Items.Add(人事部);private void button2_Click(object sender,EventArgs e)listBox1.Items.Insert(2,插入值);label1.Text=已经添加+listBox1.Items.Count.ToString()+条记录;组合框属性说明DropDownStyle ComboBox 控件的样式MaxDropDownItems 下拉区显示的最大项目数方法说明Select在 ComboBox 控件上选定指定范围的文本1.1.3 WinForms 中的常用控件 使用组合框private voi

15、d 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(

16、财务部);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)=D

17、ialogResult.Yes)/保存文件所用的代码/保存后的 MessageBox1.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

18、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,EventArg

19、s 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=Dial

20、ogResult.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=

21、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.lstCurrDep

22、tName.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 变量中存储选定项的消息框图标系统按钮Syste

23、m.Windows.FormsControlScrollableControlContainerControlForm标题栏控件1.1.4 窗体容器简介 1.1.4 窗体容器简介 l SDI 单文档界面l MDI 多文档界面1.1.5 窗体的属性 属性属性StartPosition 初始窗口位置CancelButton 按下esc键后执行那个按钮。ControlBox 确定系统是否有图标和最大最小关闭按钮。FormBorderStyle 指定边框和标题栏的外观和行为。HelpButton 确定窗体的标题栏上是否有帮助按钮。KeyPreview 确定窗体键盘事件是否已经向窗体注册。MainMen

24、uStrip 确定键盘激活和多文档合并。ShowInTaskbar 确定窗体是否出现在任务栏中。WindowState 确定窗体的初始可视状态。1.1.5 窗体的常用方法和事件 方法方法Activate 当窗体被激活时候发生 MdiChildActivate 当MDI子窗体被激活时候发生 事件事件Activated ClosedClosingLoad示例:显示另一窗体示例:显示另一窗体被调用的窗体类 窗体实例=new 被调用的窗体类();窗体实例.Show();下面,在菜单的单击事件中写下如下的事件。private void menuItem3_Click(object sender,Even

25、tArgs 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的发送信息事件pu

26、blic 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();最后关闭窗体事

27、件: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 varFe

28、edBack)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._fee

29、dBack);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.Visi

30、ble=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 ret

31、urn 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:另一种窗体之间的传值技巧(二)类保存任意值 代码见下Wi

32、nform界面美化技巧 1、从附件资料中确认有第三方动态链接库文件DotNetSkin.dll或者IrisSkin2.dll,这两个文件是第三方开发设计的Winform界面美化的主要文件2、打开VS2005,展开工具箱,右键点击界面选择“添加选项卡”,新建选项卡“皮肤”Winform界面美化技巧 4、在工具箱项窗口点击“浏览”,导入第三方动态链接库文件DotNetSkin.dll或者IrisSkin2.dll,两个dll都是一样的用,不同的是DotNetSkin.dll用的皮肤文件是*.skn,IrisSkin2.dll是用的*.ssk3、在工具箱的新建选项卡“皮肤”里面单击右键,选择“选择项

33、”,将展开选择工具箱项Winform界面美化技巧 5、则在工具箱的皮肤选项卡内将出现皮肤控件。5、皮肤文件的基本用法是:拖拽任何一个皮肤控件到某个窗体上面,进行如下的编码:namespace porjectname public partial class Form1:Form public Form1()InitializeComponent();this.skinEngine1.SkinFile=*.ssk;或是 this.skinUI1.SkinFile=*.skn;Winform界面美化技巧 namespace WindowsApplication1 public partial cl

34、ass Form7:Form public Form7()InitializeComponent();/this.skinEngine1.SkinFile=*.ssk;/string path=Environment.CurrentDirectory+skn皮肤LE4-DEFAULT.skn;this.skinUI1.SkinFile=path;有关ssk文件和skn文件库,请参见附件文件库中相关文件 总结 WinForms可用于 Windows 窗体应用程序开发 Windows 窗体控件是从 System.Windows.Forms.Control 类派生的类 标签控件用于显示用户不能编辑的

35、文本或图像 按钮控件提供用户与应用程序交互的最简便方法 组合框控件是列表框控件和文本框控件的组合,用户可以键入文本,也可以从所提供的列表中选择项目 窗体提供了收集、显示和传送信息的界面,是 GUI的重要元素 消息框显示消息,用于与用户交互-基于C#语言主讲教师:钱 哨本课学时:72课时联系方式:Windows程序设计回顾 WinForms可用于 Windows 窗体应用程序开发 Windows 窗体控件是从 System.Windows.Forms.Control 类派生的类 标签控件用于显示用户不能编辑的文本或图像 按钮控件提供用户与应用程序交互的最简便方法 组合框控件是列表框控件和文本框控

36、件的组合,用户可以键入文本,也可以从所提供的列表中选择项目 窗体提供了收集、显示和传送信息的界面,是 GUI的重要元素 消息框显示消息,用于与用户交互第二章、WinForms控件n本章主要内容介绍2.1 WinForms的高级控件2.2 单(多)文档操作及菜单CONTENT本节学习目标:本节学习目标:使用WinForms中的高级控件单选按钮图片框选项卡控件滚动条 进度条ImageList 控件ToolBar 控件StatusBar 控件 Timer 控件 TreeView 控件 ListView 控件2.1 Winforms的高级控件2.1.1 单选按钮(radioButton)Windows

37、 窗体单选按钮控件以组的形式使用 单选按钮允许用户从多个选项中选择一个选项属性说明Appearance RadioButton 控件的显示与命令按钮相似 Checked确定是否已选定控件方法说明Focus将输入焦点移至控件2.1.1 单选按钮(radioButton)如何按功能分组 Windows 窗体 RadioButton 控件?1、在一个容器(如 Panel 控件、GroupBox 控件或窗体)内绘制单选按钮即可将它们分组。2、若要添加不同的组,必须将它们放到面板或分组框中。步骤:1、从“工具箱”的“Windows 窗体”选项卡中,将 GroupBox 或 Panel 控件拖到窗体上。2

38、、在 GroupBox 或 Panel 控件上绘制 RadioButton 控件。3、代码见下。2.1.2 图片框 图片框控件表示可用于显示图像的 Windows 图片框控件 显示位图、元文件、图标、JPEG、GIF 或 PNG 等格式的图形是一种图形显示控件属性属性说明Image 用于指定图片框显示的图像。该图像可在设计或运行时设置SizeMode 用于指定图像的显示方式。可以指定的各种大小模式包括 AutoSize、CenterImage、Normal 和 StretchImage。默认值为 Normal方法说明Show 显示控件图片框2.1.2 图片框 练习1:使用设计器加载图片(Win

39、dows 窗体)练习2:运行时候修改图片大小和位置 public Form1()InitializeComponent();showpic();public void showpic()pictureBox1.Image=Image.FromFile(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal)+image.gif);pictureBox1.SizeMode=System.Windows.Forms.PictureBoxSizeMode.StretchImage;private void

40、pictureBox1_Click(object sender,EventArgs e)if(pictureBox1.Image!=null)pictureBox1.Image.Dispose();pictureBox1.Image=null;else showpic();2.1.3 选项卡控件 在 Windows 应用程序中,选项卡用于将相关的控件集中在一起,放在一个页面中 选项卡控件用于显示多个选项卡,其中每个选项卡均可包含图片和其他控件 选项卡相当于另一个窗体,可以容纳其他控件选项卡控件选项卡控件的属性属性说明MultiLine指定是否可以显示多行选项卡。如果可以显示多行选项卡,该值应为

41、 True,否则为 False。默认值为 FalseSelectedIndex当前所选选项卡页的索引值。该属性的值为当前所选选项卡页的基于 0 的索引。默认值为-1,如果未选定选项卡页,则为同一值SelectedTab当前选定的选项卡页。如果未选定选项卡页,则值为 NULL 引用ShowToolTips指定在鼠标移至选项卡时,是否应显示该选项卡的工具提示。如果对带有工具提示的选项卡显示工具提示,该值应为 True,否则为 False【同时必须设置某页的ToolTipText内容】TabCount检索选项卡控件中选项卡的数目SelectedIndexChanged更改 SelectedIndex

42、 属性值时,将触发该事件选项卡控件的属性属性说明Alignment控制标签在标签控件的什么位置显示。默认的位置为控件的顶部Appearance控制标签的显示方式。标签可以显示为一般的按钮或带有平面样式HotTrack如果这个属性设置为true,则当鼠标指针滑过控件上的标签时,其外观就会改变Multiline如果这个属性设置为true,就可以有几行标签RowCount返回当前显示的标签行数SelectedIndex返回或设置选中标签的索引TabPages这是控件中的TabPage对象集合。使用这个集合可以添加和删除TabPage对象TabCount返回标签的总数SelectedTab返回或设置选

43、中的标签。注意这个属性在TabPages的实例上使用设定选项卡的数目或者综合应用程序示例(一)设定选项卡的提示信息总选项卡设计分选项卡属性设计综合应用程序示例(二)统计页面操作基本信息private void tabControl1_SelectedIndexChanged(object sender,EventArgs e)label1.Text=当前操作统计信息为:页面为第当前操作统计信息为:页面为第+this.tabControl1.SelectedIndex.ToString()+页,选项卡页为页,选项卡页为+tabControl1.SelectedTab.Text+,共有页数,共有页

44、数+tabControl1.TabCount.ToString();综合应用程序示例(三)综合应用程序示例(四)使用窗体接受职员的个人信息和职业信息 将使用单选按钮、图片框和选项卡控件 应用程序提供有两个选项卡页 第一个选项卡页显示个人信息的文本框综合应用程序示例(四)第二个选项卡页显示职员信息的文本框综合应用程序示例(五)选项卡的基本操作2.1.4 进度条 用于指示操作的进度、完成的百分比 外观是排列在水平条中的一定数目的矩形进度条的属性和方法属性说明Maximum进度条控件的最大值。默认值为 100Minimum进度条控件的最小值。进度条从最小值开始递增,直至达到最大值。默认值为 0Ste

45、pPerformStep 方法应据以增加进度条的光标位置的值。默认值为 10Value进度条控件中光标的当前位置。默认值为 0方法说明Increment按指定的递增值移动进度条的光标位置PerformStep 按 Step 属性中指定的值移动进度条的光标位置案例见下:案例见下:进度条练习1:加载数据库练习private void button1_Click(object sender,EventArgs e)string sqlstring=Data Source=(local);Initial Catalog=zrzx;User ID=sa;SqlConnection conn=new Sq

46、lConnection(sqlstring);string sql=select*from tbl_advice;SqlCommand cmd=new SqlCommand(sql,conn);SqlDataAdapter adp=new SqlDataAdapter();adp.SelectCommand=cmd;DataSet ds=new DataSet();adp.Fill(ds);conn.Dispose();conn.Close();conn=null;label1.Visible=true;progressBar1.Visible=true;progressBar1.Minimu

47、m=0;progressBar1.Maximum=ds.Tables0.Rows.Count;progressBar1.BackColor=Color.Red;for(int i=0;i ds.Tables0.Rows.Count;i+)progressBar1.Value+;Application.DoEvents();this.label1.Text=progressBar1.Value.ToString();2.1.6 ImageList 控件属性属性说明说明Images 该属性表示图像列表中包含的图像的集合ImageSize 该属性表示图像的大小,默认高度和宽度为 16 x 16,最大

48、大小为 256 x 256方法方法说明说明Draw该方法用于绘制指定图像ImageList 控件的属性和方法位于 Systems.Windows.Forms 命名空间内imgImageList1.Images.Add(Image.FromFile(picture.gif);this.picMyPicture.Image=this.imgImageList1.Images0;在 ImageList 控件中添加图像的代码Image 类的 FromFile()方法用于手动将图像文件添加到 ImageList 控件中 2.1.6 ImageList 控件 练习第一步:加载imagelist控件注意配置

49、imagesize属性第二步:配置images属性,添加图片信息第三步:添加一个toolbar控件第四步:指定toolbar的imagelist控件对象,并添加具体的button对象。两个类ToolBarToolBarButton2.1.7 ToolBar 控件属性属性说明说明Buttons 工具栏按钮控件的集合工具栏按钮控件的集合 ShowToolTips鼠标移到各工具栏按钮上时,是否显示相应的工鼠标移到各工具栏按钮上时,是否显示相应的工具提示,如果该属性的值设置为具提示,如果该属性的值设置为 True,则显示工,则显示工具提示具提示 事件事件说明说明ButtonClick 单击工具栏按钮时

50、,将触发该事件单击工具栏按钮时,将触发该事件ToolBar 类的属性和事件属性属性说明说明ImageIndex 为工具栏按钮指定的图像在图像列表中的索引值为工具栏按钮指定的图像在图像列表中的索引值 Parent指定工具栏按钮所属的指定工具栏按钮所属的 ToolBar 控件控件Style 工具栏按钮的样式工具栏按钮的样式,其中包括,其中包括 DropDownButton(下拉按钮)、(下拉按钮)、Separator(分隔符)(分隔符)和和 ToggleButton(切换按钮)(切换按钮)ToolTipText表示工具栏按钮的工具提示文本表示工具栏按钮的工具提示文本ToolBarButton 类的

51、属性和事件工具栏 示例 创建名为 Example 1 的 Windows 应用程序。将 Form1.cs 更改为 frmToolBarExample.cs。将 ToolBar 控件拖动到窗体上,并将它命名为 tbrToolBar。选择 Buttons 属性,并单击按钮以显示“ToolBarButton 集合编辑器”窗口。添加三个按钮。添加了三个按钮输出屏幕private void tbrToolBar_ButtonClick(object sender,System.Windows.Forms.ToolBarButtonClickEventArgs e)if(e.Button=this.tbr

52、ToolBar.Buttons0)MessageBox.Show(“已单击“打开”按钮);处理 ButtonClick 事件的代码案例第一步:添加toolbar控件第二步:设置toolbar属性第三步:添加5个button第四步:添加imagelist控件第五步:配置imagelist的images属性private void Form2_Load(object sender,EventArgs e)toolBar1.ImageList=imageList;toolBarButton1.ImageIndex=0;toolBarButton2.ImageIndex=1;toolBarButton

53、3.ImageIndex=2;toolBarButton4.ImageIndex=3;toolBarButton5.ImageIndex=4;2.1.8 statusStrip 控件StatusStripStatusLabel使用文本和图像向用户显示应用程序当前状态的信息。案例:统计文本字数信息【代码见下】2.1.8 statusStrip 控件案例:案例:c#winForm 将窗体状态栏将窗体状态栏StatusStrip 分成左分成左中右三部分中右三部分 右边显示当前时间右边显示当前时间 通过StatusStrip显示窗体状态栏 同时将状态栏分成三部分 居左边显示相关文字信息 中间空白显示

54、居右边显示时间信息【具体实现见下】2.1.8 statusStrip 控件案例:案例:c#StatusStrip 通过什么方式显示进度?通过什么方式显示进度?2.1.9 Timer 控件简介03:15:04在应用程序中显示实际时间按指定的时间长度显示图像需要一种可在程序运行时操控时间的机制WinForms 的 Timer 控件2.1.9 Timer 控件简介拖放2.1.9 Timer 控件简介对特定的时刻响应按照某个周期触发事件 与用户无关,可以通过编程,在规定的时刻执行相应动作组件与其他控件不同,它不向用户提供用户界面,因此没有必要显示在 WinForms 设计器的界面上Timer 类包含在

55、 System.Windows.Forms 命名空间中2.1.9 Timer 控件的必要性Timer 控件为开发人员提供了一种在经过指定的时间间隔或到达指定的绝对时间时根据代码进行响应的方式2.1.9 Timer 控件的属性、方法和事件EnabledInterval时间间隔毫秒数Start()时钟启动Stop()时钟停止Tick 每隔Interval时间间隔触发一次Timer 控件名的前缀是 tmr“例如:tmrTicker,tmrTickTimerTimer 控件应用程序示例1要求显示计算机运行的时间长度和应用程序运行的时间长度Timer 控件应用程序示例1动画演示:移动的画面private

56、 void button1_Click(object sender,EventArgs e)timer1.Start();private void button2_Click(object sender,EventArgs e)timer1.Stop();private void timer1_Tick(object sender,EventArgs e)pictureBox1.Left-=5;if(pictureBox1.Right 0)pictureBox1.Left=Width;Timer 控件应用程序示例2public class frmTickCounter:System.Windo

57、ws.Forms.Formprivate int compuTime;.为窗体声明一个私有整型变量private void frmTickCounter_Load(object sender,System.EventArgs e)compuTime=Environment.TickCount;frmTickCounter 窗体的 Load 事件Timer 控件应用程序示例2private void tmrTickTimer_Tick(object sender,System.EventArgs e)long curTickValue=Environment.TickCount;long dif

58、ference=curTickValue-compuTime;long computerHours,computerMinutes,computerSeconds;long applicationHours,applicationMinutes,applicationSeconds;/将毫秒转换成小时、分钟和秒computerHours=(curTickValue/(3600*999)%24;computerHours=(curTickValue/(3600*999)%24;computerMinutes=(curTickValue/(60*999)%60;computerSeconds=(c

59、urTickValue/999)%60;applicationHours=(difference/(3600*999)%24;applicationMinutes=(difference/(60*999)%60;applicationSeconds=(difference/999)%60;应用程序中使用的局部变量将毫秒转换成小时、分钟和秒 Timer 控件应用程序示例2this.lblComputer.Text=String.Format(“这台计算机已经开机 0 小 时,1 分钟 2 秒,computerHours.ToString(),computerMinutes.ToString(),

60、computerSeconds.ToString();this.lblApplication.Text=String.Format(“这个程序已经运行了 0 小 时,1 分钟 2 秒,applicationHours.ToString(),applicationMinutes.ToString(),applicationSeconds.ToString();显示每个标签的输出结果private void btnClose_Click(object sender,System.EventArgs e)this.Close();关闭应用程序Timer 控件应用程序示例3流失的时间:1.用.net建

61、立一个Windows应用程序 2.在项目下添加一个类命名为“Time“3.编写“Time“类得实现代码 4.在窗体中放两个Label控件和一个时钟(Timer)控件 5.编写窗体得Load事件和(Timer)控件的Tick事件【代码见下】2.1.10 ListView 控件可折叠的 TreeViewListView选择列出项目的视图类型2.1.10 ListView 控件创建与 Windows 资源管理器的右窗口相似的用户界面可用于以特定样式或视图类型显示列表项四种视图模式,即大图标、小图标、列表和详细资料ListView 控件的属性和方法ItemsListView中的具体内容MultiSel

62、ect允许选择多个项SelectedItems用户选择的listview行Sorting指定进行排序的方式column详细视图中显示的列信息View选择五种视图中的一种Clear()徹度清除視圖,刪除所有的選項和列GetItemAt()返回列表視圖中位於x,y的選項Sort()ListView 控件名的前缀是“lvw“如:lvwList,lvwListItemsBeginUpdate開始更新,直到調用EmdUpdate為止。當一次插入多個選項使用這個方法很有用,因為它會禁止視圖閃爍,並可以大大提高速度EndUpdate結束更新Column 集合和 Column 对象 ListView 控件的

63、Columns 属性表示控件中出现的所有列标题的集合 列标题是 ListView 控件中包含标题文本的一个项 ColumnHeader 对象定义在控件的 View 属性设置为“Details”值时,作为 ListView 控件的一部分显示的那些列 如果 ListView 控件没有没有任何列标题,并且 View 属性设置为 Details,则 ListView 控件不显示任何项ListView 控件的编辑列,组和项案例1、编辑列ListView 控件的编辑列,组和项案例1、编辑列ListView 控件的编辑列,组和项案例1、编辑列项集合和项对象 ListView 控件的 Items 属性表示包含

64、控件中所有项的集合 该属性返回 ListView.ListViewItemCollection,可以用于 ListView 中添加新项、删除项或计算可用项数 案例2、添加删除记录 private void Form2_Load(object sender,EventArgs e)ColumnHeader objheader=new ColumnHeader();objheader.Text=姓名;objheader.TextAlign=HorizontalAlignment.Center;objheader.Width=40;listView1.Columns.Add(objheader);p

65、rivate void button1_Click(object sender,EventArgs e)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;pr

66、ivate void button2_Click(object sender,EventArgs e)listView1.Columns.Remove(listView1.Columns1);案例3:案例见下:如何各行显示不同颜色?for(int i=0;i this.listViewControl.Items.Count;i+)if(i%2=0)this.listViewControl.Itemsi.BackColor=Color.Gray;案例4:清除列、全部、显示某行信息 private void button4_Click(object sender,EventArgs e)this.listView1.Clear();private void button5_Click(object sender,EventArgs e)listView1.Items.Clear();private void listView1_SelectedIndexChanged(object sender,EventArgs e)foreach(ListViewItem lst in listVie

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!