CSharp_WinForm实践开发教程课件(全).ppt_第1页
CSharp_WinForm实践开发教程课件(全).ppt_第2页
CSharp_WinForm实践开发教程课件(全).ppt_第3页
CSharp_WinForm实践开发教程课件(全).ppt_第4页
CSharp_WinForm实践开发教程课件(全).ppt_第5页
已阅读5页,还剩403页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-基于C#语言,主讲教师:钱 哨a 本课学时:72课时 联系方式:qianshao,Windows程序设计,课程地位,综合基础课程,SQL Server,XML,Ajax Javascript&XML,ASP.NET,Oracle,RSS,Computer Base,HTML&JavaScript,OOPJava,C,Database Base,JSP/Servlet,EJB/WebService,C#,Struts/JSF,Testing/SQA,Linux,WinForms,第一章、Windows编程基础,本章主要内容介绍 1.1 windows和窗体 1.2 Visual Stutio .net IDE简介 1.3 事件处理,CONTENTs,1.1 Windows和窗体,本章学习目标:,理解 Windows 窗体 使用基本控件如标签、文本、按钮、列表框和组合框 掌握窗体的常用属性和方法,GUI界面,1.1 Windows和窗体,各种控件,属性,放置控件的区域,1.1 Windows和窗体,WinForms应用程序可能存在多个窗体,用于获取用户输入的数据和向用户显示数据,System.Windows.Forms,简单而强大 改善了接口和基类 IntelliSense 新的管理数据提供程序 安全 灵活的控件 通晓数据 向导,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,1.1.3 WinForms 中的常用控件,标签,按钮,组合框,列表框,文本框,标签,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(); ,案例:窗口的打开和关闭,文本框,1.1.3 WinForms 中的常用控件,按钮,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(); ,列表框,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() + “条记录“; ,组合框,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 中的常用控件,消息框窗口,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 变量中存储选定项的消息框,图标,系统按钮,标题栏,控件,1.1.4 窗体容器简介,1.1.4 窗体容器简介,SDI 单文档界面 MDI 多文档界面,1.1.5 窗体的属性,1.1.5 窗体的常用方法和事件,示例:显示另一窗体,示例:显示另一窗体,被调用的窗体类 窗体实例 = 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:另一种窗体之间的传值技巧(二) 类保存任意值,代码见下,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、皮肤文件的基本用法是:拖拽任何一个皮肤控件到某个窗体上面,进行如下的编码: namespace porjectname public partial class Form1 : Form public Form1() InitializeComponent(); this.skinEngine1.SkinFile = “*.ssk“; 或是 this.skinUI1.SkinFile = “*.skn“; ,Winform界面美化技巧,namespace WindowsApplication1 public partial class 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 类派生的类 标签控件用于显示用户不能编辑的文本或图像 按钮控件提供用户与应用程序交互的最简便方法 组合框控件是列表框控件和文本框控件的组合,用户可以键入文本,也可以从所提供的列表中选择项目 窗体提供了收集、显示和传送信息的界面,是 GUI的重要元素 消息框显示消息,用于与用户交互,-基于C#语言,主讲教师:钱 哨 本课学时:72课时 联系方式:qianshao,Windows程序设计,回顾,WinForms可用于 Windows 窗体应用程序开发 Windows 窗体控件是从 System.Windows.Forms.Control 类派生的类 标签控件用于显示用户不能编辑的文本或图像 按钮控件提供用户与应用程序交互的最简便方法 组合框控件是列表框控件和文本框控件的组合,用户可以键入文本,也可以从所提供的列表中选择项目 窗体提供了收集、显示和传送信息的界面,是 GUI的重要元素 消息框显示消息,用于与用户交互,第二章、WinForms控件,本章主要内容介绍 2.1 WinForms的高级控件 2.2 单(多)文档操作及菜单,CONTENT,本节学习目标:,使用WinForms中的高级控件 单选按钮 图片框 选项卡控件 滚动条 进度条 ImageList 控件 ToolBar 控件 StatusBar 控件 Timer 控件 TreeView 控件 ListView 控件,2.1 Winforms的高级控件,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:运行时候修改图片大小和位置,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 pictureBox1_Click(object sender, EventArgs e) if (pictureBox1.Image != null) pictureBox1.Image.Dispose(); pictureBox1.Image = null; else showpic(); ,2.1.3 选项卡控件,在 Windows 应用程序中,选项卡用于将相关的控件集中在一起,放在一个页面中 选项卡控件用于显示多个选项卡,其中每个选项卡均可包含图片和其他控件 选项卡相当于另一个窗体,可以容纳其他控件,选项卡控件,选项卡控件的属性,选项卡控件的属性,设定选项卡的数目,或者,综合应用程序示例(一),设定选项卡的提示信息,总选项卡设计,分选项卡属性设计,综合应用程序示例(二),统计页面操作基本信息,private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) label1.Text = “当前操作统计信息为:页面为第“ + this.tabControl1.SelectedIndex.ToString() + “页,选项卡页为“ + tabControl1.SelectedTab.Text + “,共有页数“ + tabControl1.TabCount.ToString(); ,综合应用程序示例(三),综合应用程序示例(四),使用窗体接受职员的个人信息和职业信息 将使用单选按钮、图片框和选项卡控件 应用程序提供有两个选项卡页 第一个选项卡页显示个人信息的文本框,综合应用程序示例(四),第二个选项卡页显示职员信息的文本框,综合应用程序示例(五),选项卡的基本操作,2.1.4 进度条,用于指示操作的进度、完成的百分比 外观是排列在水平条中的一定数目的矩形,进度条的属性和方法,案例见下:,进度条练习1:加载数据库练习,private void button1_Click(object sender, EventArgs e) string sqlstring = “Data Source=(local);Initial Catalog=zrzx;User ID=sa“; SqlConnection conn = new SqlConnection(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.Minimum = 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 控件,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控件 注意配置imagesize属性,第二步:配置images属性,添加图片信息,第三步:添加一个toolbar控件,第四步:指定toolbar的imagelist控件对象,并添加具体的button对象。,两个类,ToolBar,ToolBarButton,2.1.7 ToolBar 控件,ToolBar 类的属性和事件,ToolBarButton 类的属性和事件,工具栏 示例,创建名为 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.tbrToolBar.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; toolBarButton3.ImageIndex = 2; toolBarButton4.ImageIndex = 3; toolBarButton5.ImageIndex = 4; ,2.1.8 statusStrip 控件,StatusStripStatusLabel使用文本和图像向用户显示应用程序当前状态的信息。,案例:统计文本字数信息【代码见下】,2.1.8 statusStrip 控件,案例:c# winForm 将窗体状态栏StatusStrip 分成左中右三部分 右边显示当前时间,通过StatusStrip显示窗体状态栏 同时将状态栏分成三部分 居左边显示相关文字信息 中间空白显示 居右边显示时间信息 【具体实现见下】,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 类包含在 System.Windows.Forms 命名空间中,2.1.9 Timer 控件的必要性,Timer 控件为开发人员提供了一种在经过指定的时间间隔或到达指定的绝对时间时根据代码进行响应的方式,2.1.9 Timer 控件的属性、方法和事件,Timer 控件名的前缀是 “tmr“,例如:tmrTicker, tmrTickTimer,Timer 控件应用程序示例1,要求显示计算机运行的时间长度和应用程序运行的时间长度,Timer 控件应用程序示例1,动画演示:移动的画面,private 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 控件应用程序示例2,public class frmTickCounter : System.Windows.Forms.Form private int compuTime; ,为窗体声明一个私有整型变量,private void frmTickCounter_Load(object sender, System.EventArgs e) compuTime = Environment.TickCount; ,frmTickCounter 窗体的 Load 事件,Timer 控件应用程序示例2,private void tmrTickTimer_Tick(object sender, System.EventArgs e) long curTickValue = Environment.TickCount; long difference = 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 = (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(); ,显示每个标签的输出结果,private void btnClose_Click(object sender,System.EventArgs e) this.Close(); ,关闭应用程序,Timer 控件应用程序示例3,流失的时间:,1.用.net建立一个Windows应用程序 2.在项目下添加一个类命名为“Time“ 3.编写“Time“类得实现代码 4.在窗体中放两个Label控件和一个时钟(Timer)控件 5.编写窗体得Load事件和(Timer)控件的Tick事件 【代码见下】,2.1.10 ListView 控件,可折叠的 TreeView,ListView,选择列出项目的视图类型,2.1.10 ListView 控件,创建与 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、添加删除记录,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); private 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; private void butto

温馨提示

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

评论

0/150

提交评论