首页 C#.NET程序设计 教学课件 ppt 作者 李旗 c#5

C#.NET程序设计 教学课件 ppt 作者 李旗 c#5

举报
开通vip

C#.NET程序设计 教学课件 ppt 作者 李旗 c#5第五章创建Windows窗体应用程序C#.net程序设计C#.NET程序设计本章主要内容 常用的Windows窗体控件 Windows窗体设计 通用对话框 创建Windows窗体应用程序C#.NET程序设计Windows窗体简介 使用Windows窗体可以开发具有丰富图像的交互式用户界面的应用程序。窗体Form是向用户显示信息的可视图面。通过向窗体上添加控件,并对用户操作(如鼠标单击或按下按键)的响应编写事件处理代码,生成Windows窗体应用程序。控件是显示数据或接受数据输入的相对独立的用户界面(UI)元素。 W...

C#.NET程序设计 教学课件 ppt 作者 李旗 c#5
第五章创建Windows窗体应用程序C#.net程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 C#.NET程序设计本章主要内容 常用的Windows窗体控件 Windows窗体设计 通用对话框 创建Windows窗体应用程序C#.NET程序设计Windows窗体简介 使用Windows窗体可以开发具有丰富图像的交互式用户界面的应用程序。窗体Form是向用户显示信息的可视图面。通过向窗体上添加控件,并对用户操作(如鼠标单击或按下按键)的响应编写事件处理代码,生成Windows窗体应用程序。控件是显示数据或接受数据输入的相对独立的用户界面(UI)元素。 Windows窗体控件包含可添加到Windows窗体上的各式控件:用于显示文本框、按钮、下拉框、单选按钮等控件。 在(工具箱)面板中包含两种类型的控件;具有用户界面的控件和没有用户界面的控件。具有用户界面的控件会出现在窗体中,并且在运行时可见;没有用户界面的控件主要用于在后台提供一些功能,在运行时不可见。控件ImageList和Timer就是没有用户界面的控件。C#.NET程序设计窗体应用程序的创建与运行 第一章WelcomeWorld项目的代码,代码文件主要有3个(.cs后缀的文件),分别是Forml.cs、Forml.Designer.cs和Program.cs。 Forml类从System.Windows.Forms.Form派生,它使用Forml.cs、Forml.Designer.cs两个代码文件通过partial关键字共同定义Form1窗体类 Forml.Designer.cs的代码由窗体设计器自动生成。自动生成的Form1类中包含一个InitializeComponent方法,这个方法用于窗体类初始化,包括设置窗体的属性、创建窗体所包含的控件以及设置这些控件的属性,它由类的构造函数Form1()调用。 窗体的显示是通过Program类Main()方法中Application.Run(new.Form1());语句来实现的。Application类位于System.Windows.Form命名空间中,它的静态方法Run用来启动并显示指定的窗体。在上面的代码中,先创建Form1类的实例,然后把新创建的实例传递给Application.Run方法,在运行程序时就会显示出这个窗体实例。关闭主窗体时,就会退出应用程序。Windows窗体C#.NET程序设计//forml.cs源代码文件PublicpartialclassForm1:Form//其中Form就是System.Windows.Forms.Form{…publicForm1(){ InitializeComponent();}}//Forml.Designer.cs源代码文件partialclassForm1{#regionWindows窗体设计器生成的代码privatevoidInitializeComponent(){…this.label1.Text="用户名";this.txtUserName.Text="在这里输入";this.btnOk.Text="确定";this.Text="Form1";}}//Program.cs:staticclassProgram{staticvoidMain(){Application.Run(newForm1());}}C#.NET程序设计Windows窗体事件 事件是对象发送消息,通知操作的发生。操作可能是由用户交互(例如鼠标单击)引起的,也可能是由某些其他的程序逻辑触发的,如Windows窗体载入Load事件。事件处理程序是用于事件(如用户单击按钮)发生时要执行的操作。引发事件时,将执行收到该事件的一个或多个事件处理程序。 事件驱动的应用程序执行事件处理程序代码以响应事件。每个窗体和控件都公开一组预定义事件,可根据这些事件进行编程。如果发生其中一个事件并且在相关联的事件处理程序中有代码,则调用该代码。 对象引发的事件有不同类型,但对于大多数控件,很多类型是通用的。例如,大多数控件都会处理Click事件。如果用户单击窗体,就会执行窗体的Click事件处理程序内的代码。 当Windows窗体应用程序启动时,窗体事件按以下顺序引发: System.Windows.Forms.Form.Load System.Windows.Forms.Form.Activated 当应用程序关闭时,主窗体的关闭事件按以下顺序引发: System.Windows.Forms.Form.FormClosing System.Windows.Forms.Form.FormClosedWindows窗体C#.NET程序设计windows应用程序的委托与事件处理 委托在.NET框架中常用于建立事件处理机制的对象。事件模型使用“委托”将事件绑定到用来处理事件的方法上。当发生事件时,委托调用绑定的方法。 当应用程序发生某个事件时,控件通过调用该事件的委托引发事件,委托接着调用绑定的方法。事件处理机制有两种,一对多通知和多对一通知。 一对多通知(或称多路广播委托)是委托依次调用事件委托每个绑定方法,这样可提供一对多通知。 多对一通知是委托还允许将多个事件绑定到同一个方法上,从而允许多对一通知。例如,单击按钮事件和单击菜单命令事件都能调用同一委托,然后该委托调用单个方法以相同方式处理各个事件。Windows窗体C#.NET程序设计例:创建windows应用程序,体验Windows窗体常用事件,及窗体关闭。 新建一个名为WindowsEvent的C#windows应用程序项目。 在Form1窗体双击,添加Form1窗体Load事件处理代码程序如下:在Form1.cs文件的Form1类下:privatevoidForm1_Load(objectsender,EventArgse){ this.Text="窗体标题在Load事件中修改";//该行是手工输入}在Form1.Designer.cs文件的Form1类InitializeComponent()方法中自动添加:this.Load+=newSystem.EventHandler(this.Form1_Load);以上实现一个事件处理有两步:一是编写Form1_Load方法,其次是Form1_Load方法的委托对象添加到Form1窗体的Load事件。除了手工输入一行改变窗体标题的代码外,其余都是通过窗体双击来完成的。 在Form1窗体的属性窗口的事件列表,双击FormClosing事件,添加处理代码:privatevoidForm1_FormClosing(objectsender,FormClosingEventArgse){ if(DialogResult.No==MessageBox.Show("关闭吗?","退出提示", MessageBoxButtons.YesNo)) e.Cancel=true;}在窗体关闭时,FormClosing事件发生,将e.Cancel设置为true取消此事件,则该窗体保持打开状态。 在Form1窗体的属性窗口的事件列表,双击Click事件,添加处理代码:privatevoidForm1_Click(objectsender,EventArgse){this.Close();}当鼠标点击窗体时,将关闭窗体,及触发FormClosing事件。C#.NET程序设计调整控件的大小改变控件大小有以下方式: 在(属性)窗口中改变控件的Size属性。 单击要调整大小的控件包括窗体,并拖动控件的尺寸柄(一般控件在其边界有8个点)中的一个,直接拖动控件的大小。 在窗选择控件,然后使Shift键+箭头键来更加精确地改变它的大小,每次一个像素。 调整窗体上多个控件的大小,按住Ctrl键或Shift键,选择要调整大小的控件。选择的第一个控件的大小将用于其他控件。在“格式”菜单中,选择“使大小相同”,然后从四个选项中选择“宽度”,“高度”或“两者”,更改所选控件的尺寸以匹配选择的第一个控件。 在代码中,通过Size属性设置控件的大小:myText.Size=newSize(100,30);或使用Bounds属性同时设置控件位置和大小:左上角(10,10)宽100,高30。代码如下: myText.Bounds=newSystem.Drawing.Rectangle(10,10,100,30);调整控件C#.NET程序设计在窗体中定位控件定位控件有以下方式: 在窗体设计器中通过拖动控件进行定位以及通过指定Location属性来定位控件。控件的位置相对于包含它的容器控件(容器控件包括窗体,Panel等),其单位为像素。 在设计时,可以通过属性窗口修改控件的Location属性改变控件的位置,可以直接输入控件的位置值(X和Y值以逗号隔开),也可以展开Location属性节点,然后分别输入X坐标值和Y坐标值。 在代码中通过Location属性设置控件的位置。例如: myText.Location=newSystem.Drawing.Point(100,100);调整控件C#.NET程序设计对控件进行分层 位于上面的控件将覆盖位于下面的控件。可以按以下方式对控件进行分层: 使用窗体设计器对控件进行分层。首先在窗体中选择一个控件,然后右击该控件并从快捷菜单中选择(置于顶层)或(置于底层)命令把控件置于窗体Z轴的的顶层或底层。 可以使用代码把控件置于窗体Z轴的顶层或底层,例如: myText.BringToFront();//置于顶层 myText.SendToBack();//置于底层调整控件C#.NET程序设计Anchor属性固定控件相对边框距离 使用Anchor属性使控件的位置相对于其父控件即容器(如窗体或Panel控件等)的某一边保持固定距离,当改变父控件的大小时,窗体上的控件的位置将会随之改变而保持这个相对距离不变。使用属性窗口来改变Anchor属性,单击Anchor属性右边的箭头,显示一个编辑器如下图,该编辑器显示一个十字线。若要设置定位点,单击该十字线的上、左、右或下部分,使之变为深灰色时,就表示控件相对于窗体这条边的距离固定。 例如,如果有一个放置Button的Form,而该按钮的Anchor属性值设置为Top和Bottom,当Form的高度增加时,Button的高度也增加相同高度,以保持到Form的上边缘和下边缘的锚定距离不变。可以使用Anchor属性编码如下: this.button1.Anchor=System.Windows.Forms.AnchorStyles.Bottom;调整控件C#.NET程序设计Dock属性设置边缘对齐 通过设置Dock,可以使控件与父控件的边缘对齐。此属性指定控件在父控件中的驻留位置。可以将Dock属性设置为下列值:Bottom,Left,Top,Right,Fill和None:分别表示停靠到父控件底部、左侧、顶部、右侧、占据窗体中的所有剩余空间和不在任何位置停靠。 使用Dock属性可以定义在调整父控件大小时如何自动调整控件的大小。例如,将Dock设置为DockStyle.Left将导致控件与其父控件的左边缘对齐,并在父控件调整大小时调整自身大小。 Anchor和Dock属性是互相排斥的。每次只可以设置一个属性,最后设置的属性优先。调整控件C#.NET程序设计设置控件的Tab键顺序控件的Tab键顺序 决定 郑伟家庭教育讲座全集个人独资股东决定成立安全领导小组关于成立临时党支部关于注销分公司决定 了当用户使用Tab键切换焦点的顺序。在默认情况下,控件的Tab键顺序就是控件添加到窗体中的顺序。可以选择“视图”|“Tab键顺序”菜单命令把窗体设计器切换到Tab键顺序选择模式,并在该模式中单击各个控件把它们的Tab键顺序设置为单击控件的顺序,设置完成,再通过“视图”|“Tab键顺序”菜单命令把Tab键顺序选择模式切换到窗体设计器。当然也可以通过在属性窗口各个控件的TabIndex属性来改变它们的Tab键顺序。调整控件C#.NET程序设计使用“格式”子菜单调整界面控件布局 VisualStudio2005菜单“格式”共有“对齐”,“使大小相同”,“水平间距”,“垂直间距”,“锁定控件”等子菜单。各子菜单又分别有不同的菜单项用于调整控件不局。 调整界面控件布局涉及多个控件,按住Ctrl键或Shift键,选择要调整大小的控件,以选择的第一个控件为基准,如位置,大小,间距,然后根据所选不同菜单项,来调整控件布局,并可用“锁定控件”菜单来锁定控件设计。也用“锁定控件”菜单解锁。调整控件C#.NET程序设计控件TextBox 文本框TextBox控件用于获取用户输入或显示文本,通常用于编辑文本,控件显示的文本包含在Text属性中。 将ReadOnly属性设置为true时,不允许用户对文本框中的文本进行更改。ReadOnly属性仅在运行时影响用户交互。仍可以在运行时以编程方式更改文本框的Text属性来更改文本框的内容。 将PasswordChar属性设置为某个特定字符,比如“*”,然后,无论用户在文本框中键入什么字符,都显示为星号。以此实现密码输入框功能。 设置MaxLength属性确定可在文本框中最多键入多少字符。 TextAlign属性设置显示的文本的对齐方式。 TextBox控件中最常用的事件是TextChanged。每当更改Text属性时,就会触发这个事件。控件介绍C#.NET程序设计Button按钮控件 Button按钮控件除了可以在按钮控件中显示文字之外,还可以显示图像。AutoSize指示是否基于其按钮显示内容调整大小。设置按钮控件所显示的图像:在“属性”窗口中选择控件的“Image”属性,再单击省略号按钮()以显示“选择资源”对话框。选择要显示的图像。 使用ShowDialog方法显示窗体时,可以使用按钮的DialogResult属性指定ShowDialog的返回值。 如果某个Button具有焦点,则可以使用鼠标、Enter键或空格键单击该按钮,触发Click事件。也可以使用PerformClick方法在代码中触发按钮控件的Click事件。例如button1.PerformClick();控件介绍C#.NET程序设计例:登录对话框和模式对话框的应用 制作一个逻辑上简单的对话框,如下图。通过对用户输入的用户名和密码字符串的比较来实现单个用户权限的审查。新建一个C#windows应用程序项目,给项目命名为LoginApp。在解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 资源管理器中,右击项目LoginApp,在弹出的快捷菜单中选择“添加”-“添加windows窗体”,名称默认为form2.cs,更改LoginForm.cs。设计LoginForm的界面,用作登录对话框。从工具箱中向LoginForm设计窗口中添加2个Label控件,2个Textbox控件和2个Button控件。并按左图排列控件:设计Form1的界面,从工具箱中向Form1设计窗口中添加1个Label控件,如右图,并将其Text属性设为“欢迎”。C#.NET程序设计 修改LoginForm和各个控件的属性如下表:在Form1设计窗口中直接双击Form1窗体,添加Load事件处理代码:privatevoidForm1_Load(objectsender,EventArgse){LoginFormfrmLogin=newLoginForm();frmLogin.ShowDialog(this); //主窗体作为模式对话框的拥有者 控件名称 属性 属性值 labellabel Text,TextAlignText,TextAlign “用户”,MiddleRight“密码”,MiddleRight TextBox Name “txtUserName” TextBox PasswordChar、Name '*'、“txtPwd” Button Name、Text btnLogin,"登录" Button Name、Text、DialogResult btnCancel、“撤消”、Cancel Form窗体 AcceptButton、CancelButton、TextFormBorderStyle、ControlBox、MaximizeBox、MinimizeBox、Name、 btnLogin、btnCancel、"登录"FixedDialog、falsefalse、false、“LoginForm”C#.NET程序设计/*当登录对话框按下“放弃”按钮frmLogin.DialogResult=DialogResult.Cancel,因此将退出程序*/if(frmLogin.DialogResult!=DialogResult.OK)Application.Exit();//退出程序}在LoginForm设计窗口中双击OK按钮,添加用户名和密码验证代码。privatevoidbtnLogin_Click(objectsender,EventArgse){if(txtUserName.Text!="guest")//判断用户名是否等于“guest”{MessageBox.Show("错误的用户名!请重试","登录");txtUserName.SelectionStart=0;txtUserName.SelectionLength=txtUserName.TextLength;//选中用户名txtUserName.Focus();//使用户名文本框拥有焦点}elseif(txtPwd.Text!="pass"){//判断密码是否等于“pass”MessageBox.Show("错误密码!请重试","登录");txtPwd.Focus();//使密码文本框拥有焦点txtPwd.Text="";}else{ //用户名和密码正确,关闭模式对话框 this.DialogResult=DialogResult.OK;} }C#.NET程序设计RadioButton控件 RadioButton控件可以显示文本、图像Image或同时显示两者。当用户选择一个组内的一个选项按钮(也称作单选按钮)时,其他选项按钮自动清除。给定容器(如Form)中的所有RadioButton控件构成一个组。若要在一个窗体上创建多个组,请将每个组放在它自己的容器(例如GroupBox或Panel控件)中。 单选按钮最常用的属性有两个:Text属性(用来设置单选按钮的标题)和Checked属性(用来获取或设置单选按钮的选中状态,true选中,false未选中)。 单选按钮控件中最常用的事件是CheckedChanged。每当单选按钮的Checked属性发生变化时,就会触发这个事件,用户可以使用这个事件根据单选按钮的状态变化进行适当的操作。控件介绍C#.NET程序设计CheckBox复选框控件 CheckBox控件和RadioButton的功能相似:它们提供用户可以选择或清除的选项,不同之处在于,可以同时选定多个CheckBox控件,不互相排斥的。Check属性具有true选中和false未选中状态。但是也可以通过ThreeState属性值选择支持两种状态(false)还是三种状态(true)。CheckState属性把它设置为3种状态,即多了一个不确定状态。当复选框处于选中状态或不确定状态时,它的Checked属性都为True。 复选框控件中最常用的事件是CheckedChanged和CheckStateChanged。每当复选框的Checked属性属性变化时就会触发CheckedChanged事件;每当它的CheckState属性发生变化时,就会触发CheckedStateChanged事件。控件介绍C#.NET程序设计 使用单选和复选按钮计算不同形状体积的windows应用程序。应用程序如下图所示主窗体Form1各个控件的属性如下图: 控件名称 属性 属性值 TextBox Name,ReadOnly txtVol,true TextBox Name txtR 3个RadioButton Name,Text rdoBall、球体;rdoCylin、柱体;rdoCub、立方体 1个CheckedBox Name,Text, chkHalf,计算一半体积 Button Name,Text btnCompute,计算体积C#.NET程序设计在Form1设计窗口中双击“计算体积”按钮,添加处理代码:doubleCalCylinder(doubledblR)//高为圆截面直径的圆柱体积{returnMath.PI*dblR*dblR*dblR;}staticdoubleCalBall(doubledblR)//半径为dblR的球体积{return4.0/3.0*dblR*dblR*dblR;}doubleCalCube(doubledblR)//边长为圆直径的立方体积{ return8*dblR*dblR*dblR;}privatevoidbtnCompute_Click(objectsender,EventArgse){ doubler,dblHalf,dblVol;//声明局部变量 if(double.TryParse(txtR.Text,outr)){ if(chkHalf.Checked)dblHalf=0.5;//如果计算一半体积 else dblHalf=1; if(rdoBall.Checked) dblVol=dblHalf*CalBall(r);//球体积 elseif(rdoCube.Checked) dblVol=dblHalf*CalCube(r);//立方体积 elseif(rdoCylin.Checked) dblVol=dblHalf*CalCylinder(r);//圆柱体积 else { MessageBox.Show("请选择立体形状"); return; } this.txtVol.Text=dblVol.ToString("f3");} }C#.NET程序设计ListBox控件 ListBox控件显示一个列表,用户可从中选择一项或多项。如果列表项总数超出可以显示的项数,则自动向ListBox控件添加滚动条。 下面是ListBox控件的常用属性: SelectionMode属性确定一次可以选择多少列表项,以及用户可如何进行多重选择。SelectionMode属性有三种选择: SelectionMode.One是默认值,设定只能选择一项。 SelectionMode.MultiExtended时,按下Shift键的同时单击鼠标或者同时Shift键和箭头键之一(向上键、向下键、向左键和向右键),会将选定内容从前一选定项扩展到当前项,选择连续的多项。按Ctrl键的同时单击鼠标将选择或撤消选择列表中的某项。 SelectionMode.MultiSimple时,使用鼠标单击或按空格键将选择或撤消选择列表中的某项,也可以选择多项,区别在于不能使用Shift键扩展选择连续的多项。控件介绍C#.NET程序设计ListBox控件 SelectedIndex属性返回对应于列表框中第一个选定项的顺序数。通过在代码中更改SelectedIndex值,可以编程更改选定项,列表中的相应项将在Windows窗体上突出显示。如果未选定任何项,则SelectedIndex值为-1。如果选定了列表中的第一项,则SelectedIndex值为0。当选定多项时,SelectedIndex值反映列表中最先出现的选定项。 SelectedItem属性类似于SelectedIndex,但它返回项本身,通常是字符串值。Count属性反映列表的项数,由于SelectedIndex是从零开始的,所以Count属性的值通常比SelectedIndex的最大可能值大一。 items属性是实现了三个集合接口的集合类型classObjectCollection:IList,ICollection,IEnumerable{}。因此可以使用ObjectCollection类型的Add、Insert、Clear或Remove方法,在ListBox控件中添加或删除项。或者,可以在设计时使用Items属性向列表添加项。控件介绍C#.NET程序设计ListBox控件 Items、SelectedItems和SelectedIndices属性提供ListBox所使用的三个集合:包含的所有项、包含选定项的集合和包含选定索引的集合。 使用Add方法多次添加列表项时,使用BeginUpdate方法,可以防止每次向列表添加项时控件都重新绘制ListBox。完成向列表添加项的任务后,调用EndUpdate方法来使ListBox能够重新绘制。当向列表添加大量的项时,使用这种方法添加项可以防止绘制ListBox时闪烁。对ComboBox等控件也有类似方法。 DataSource属性可以用来填充ListBox列表项Items。DataSource属性值是实现IList或IListSource接口的对象,如Array数组或DataSet数据集(后面介绍)。 DisplayMember属性指定ListBox项集合Items的元素对象的一个属性,ListBox使用该Items元素对象属性显示列表项。 属性SelectedValue的值是ListBox当前选中的对象。 ListBox控件中常用的事件是SelectedIndexChanged,SelectedValueChanged,表示列表项发生变化时,就会触发这两个事件。控件介绍C#.NET程序设计listBox1.SelectionMode=SelectionMode.MultiExtended;listBox1.BeginUpdate();//开始更新listBox的数据for(intx=1;x<=50;x++)//为ListBox加入行新的数据{listBox1.Items.Add("Item"+x.ToString());}listBox1.EndUpdate();//结束编辑listBox1.SetSelected(1,true);//默认选中下面三行数据listBox1.SetSelected(3,true);listBox1.SetSelected(5,true);Console.WriteLine(listBox1.SelectedItems[1].ToString());//输出选中的第二个项//获取选中的第一个元素的索引Console.WriteLine(listBox1.SelectedIndices[0].ToString());C#.NET程序设计ComboBox控件 ComboBox控件用于在下拉组合框中显示数据。默认情况下,ComboBox控件分两个部分显示:顶部是一个允许用户键入列表项的文本框。第二部分是一个列表框,它显示列表项,用户可从中选择一项。因此其属性和事件分别参照文本框和列表框。 DropDownStyle属性控制下拉组合框显示界面。可以选择以下各值: Simple:简单的下拉列表框(始终显示列表)、 DropDownList下拉列表框(文本部分不可编辑,并且必须选择一个箭头才能查看下拉列表框) DropDown默认下拉列表框(文本部分可编辑,并且用户必须按箭头键才能查看列表)。 ComboBox控件和ListBox控件具有相似行为,组合框适合于存在一组“建议”选项的情况,而列表框适合于想要将输入限制为列表中内容的情况。组合框包含一个文本框字段,因此可以键入列表中所没有的选项。但DropDownStyle属性设置为DropDownList时除外。控件介绍C#.NET程序设计publicclassUSState{privatestringmyShortName;privatestringmyLongName;publicUSState(stringstrLongName,stringstrShortName){this.myShortName=strShortName;this.myLongName=strLongName;}publicstringShortName{get{returnmyShortName;}}publicstringLongName{get{returnmyLongName;}}publicoverridestringToString(){returnthis.ShortName+"-"+this.LongName;}}publicForm1(){InitializeComponent();InitForm();}C#.NET程序设计voidInitForm(){List<USState>USStates=newList<USState>();USStates.Add(newUSState("Alabama","AL"));USStates.Add(newUSState("Washington","WA"));USStates.Add(newUSState("WestVirginia","WV"));listBox1.DataSource=USStates;//listBox1.DisplayMember="LongName";//改变注释观察显示变化//listBox1.ValueMember="ShortName";//改变注释观察显示变化comboBox1.DataSource=USStates;comboBox1.DisplayMember="LongName";comboBox1.ValueMember="ShortName";}privatevoidlistBox1_SelectedValueChanged(objectsender,EventArgse){if(listBox1.SelectedIndex!=-1)textBox1.Text=listBox1.SelectedValue.ToString();}代码说明:ListBox显示内容按以下顺序确定:当存在DisplayMember属性时,使用USState的DisplayMember属性(LongName)来显示,当不存在DisplayMember属性时使用ValueMember属性(ShortName)来显示,这两都没设置时使用USState的toString()方法显示。listBox1.SelectedValue是listBox1列表框选中的USState对象。C#.NET程序设计GroupBox、Panel和SplitContainer GroupBox控件用于为其他控件提供可识别的分组。通常,使用分组框一般按功能细分窗体。分组框的标题由Text属性定义。 面板(Panel)控件与分组框控件类似,也用于对控件进行逻辑分组。面板控件可以包含滚动条。如果把面板控件的AutoScroll属性设置为true,则当面板中的控件超出面板的可视范围时,它将自动显示滚动条。 Panel控件与其他容器控件一样,如果Enabled属性设置为false,则也会禁用包含在Panel中的控件。 SplitContainer控件看作是一个复合体,它是由一个可移动的拆分条分隔的两个面板。当鼠标指针悬停在该拆分条上时,指针将相应地改变形状以显示该拆分条是可移动的。使用SplitContainer控件,可以创建复合的用户界面(通常,在一个面板中的选择决定了在另一个面板中显示哪些对象)。 SplitContainer的Orientation属性决定拆分器的方向,而不是决定控件本身的方向。因此,当该属性设置为Vertical时,拆分器将垂直放置,从而产生左面板和右面板。控件介绍C#.NET程序设计TabControl选项卡控件 通过设置TabControl选项卡的TabPages属性,可以创建和编辑TabControl选项卡的页面。设置TabPages属性方法如下: 在选项卡控件属性窗口,单击TabPages属性右边的按钮,进入TabPage集合编辑器对话框,单击对话框中的【添加】按钮将会把一个新的页面添加到选项卡控件中,同时在对话框的右边显示该页面的属性,用户可以通过该属性页面设置单独页面的属性。例如,通过Text属性设置对应标签的标题,通过ImageIndex属性设置对应标签中显示的图像索引等。控件介绍C#.NET程序设计Treeview控件 列表视图ListView控件和列表框ListBox一样,都是显示一些项的列表的控件。但是列表视图比列表框的功能更加强大。在列表视图中,通过view属性可以改变列表视图的显示模式,包括大图标LargeIcon、小图标SmallIcon、列表List及详细信息Details。以详细信息Details显示列表项时,每一项占据一行。 在列表视图添加列表头的方法:单击Columns属性旁边按钮. 列表视图添加列表项的方法是:单击TreeView”属性”窗口中Items属性旁边的按钮。 为列表项添加子项方法是:单击”ListViewItem集合编辑器”对话框中SubItems属性旁边的按钮。 列表视图常用的事件有单击列表头时触发的ColumnClick事件和选择发生改变时触发SelectedIndexChanged事件。控件介绍C#.NET程序设计ProgressBar进程条控件 进程条(ProgressBar)控件使用矩形方块从左至右显示某一过程的进度情况。例如,在安装某一软件时,常有一个代表安装进度的变化长条,这种能够表示进度的长条就是由ProgressBar进程条控件产生的。 进程条常用的属性是Maximum、Minimum和Value。Maxium用于读取或设置进程条的最大计数值;Minimum用于读取或设置条进程条的最小计数值;Value用于读取或设置进程条的当前计数值。控件介绍C#.NET程序设计ToolStrip控件StatusStrip状态栏控件 ToolStrip工具栏控件将一些常用的控件单元作为子项放在工具栏中,通过各个子项和应用程序发生联系。可以在ToolStrip工具栏控件中添加Button(ToolStripButton)、Label、SplitButton、DropDownButton、Separator、ComboBox、TextBox和ProgressBar八种类型的子项。 对于ToolStripDropDownButton子项,通过属性DropDownItems设置其下拉列表框子项。对于ToolStripComboBox子项,通过属性Items设置其下拉列表框子项。 ToolStrip的属性ShowItemToolTips设置是否显示工具栏子项上的提示文本,其子项ToolTipText属性设置提示文本。子项ToolStripButton的属性DisplayStyle设置是否显示文本(text)和图像(image)。 工具栏控件的常用事件主要有ItemClicked和Click等。对于ItemClicked事件,单击本控件上的一个子项时,该事件过程被执行;对于Click事件,单击本工具栏控件时执行。 StatusStrip状态栏控件用来提供一个状态栏,通常出现在窗体的底部。通过这个控件,应用程序能显示状态数据。状态栏可以包含StatusLabel、DropDownBotton和ProgressBar等子项。其属性和事件与ToolStrip工具栏控件相似。控件介绍C#.NET程序设计MenuStrip菜单控件 在窗体中可以添加两种类型的菜单:主菜单和快捷菜单。其中主菜单使用MenuStrip控件,快捷菜单使用ContextMenuStrip控件。菜单项目包括子菜单项(MenuItem)、文本框和组合编辑框,其中文本框和组合编辑框与ToolStrip工具栏控件功能相同。 从工具箱中选择MenuStrip控件(菜单控件),将其拖放到窗体中,菜单控件会显示在窗体的下边,这时,在窗体的顶部会出现一个带下拉按钮的提示框,提示用户选择输入菜单项目。 子菜单项(MenuItem)的常用属性有:Text表示菜单项要显示的文本、ShortcutKeys用于设置激活菜单项的快捷键和Enabled指示是否可以对用户交互作出响应。控件介绍C#.NET程序设计Timer定时器控件 定时器控件Timer可以按照设定的时间间隔来触发事件,用户可以使用控件Timer来执行周期性的操作。 定时控件常用的属性有两个:Enabled属性和Interval属性。Enabled属性用来指定时钟是否处于运行状态,即是否可以触发事件。这个属性的默认值为False,表示在默认情况下不会触发事件;Interval属性用来指定定时器控件触发事件的时间间隔,使用的单位为毫秒。 定时器控件包含两个常用的方法:Start方法和Stop方法。Start方法用来启动时钟,即把定时器控件的Enabled属性设置为True;Stop方法用来停止时间,即把定时器控件的Enabled属性设置为False。 定时器控件中包含一个Tick事件,用户可捕捉该事件来进行代码操作。每当定时器控件Interval属性指定的时间间隔到达时,并且Timer处于运行状态时(Enabled属性为True),就会触发这个事件。控件介绍C#.NET程序设计 控件常用的控件命名方法控件名简写+英文描述,英文描述首字母大写。控件名简写名称如下表。C#.NET程序设计MessageBox消息框MessageBox是消息框类通常用于显示一些提示、警告信息。执行MessageBox.Show(“消息框内容”,“标题”,MessageBoxButtons.OK,MessageBoxIcon.Information);的结果如下图:方法说明:publicstaticDialogResultMessageBox.Show( stringtext,//表示内容 stringcaption,//表示标题 MessageBoxButtonsbuttons,//表示按钮((如MessageBoxButtons.OKCancel) MessageBoxIconicon//表示消息符号(如MessageBoxIcon.Exclamation))通用对话框C#.NET程序设计文件对话框 文件对话框通常用来执行打开文件和保存文件操作。OpenFileDialog类是打开文件对话框用类,SaveFileDialog类是保存文件对话框。这两个类都是从FileDialog类派生,它们的使用方法基本相同。 文件对话框的常用属性有:初始目录(InitialDirectory属性)、文件过滤器(Filter属性)和对话框的标题(Title属性)等。 文件对话框的显示通过调用这两个类的ShowDialog()方法来完成,因此,它们都是模式对话框。关闭文件对话框之后,可以使用它的FileName属性来获得用户所选择的文件的完整路径名,例如:openFileDialogl.ShowDialog();//显示对话框stringfilename=openFileDialogl.FileName;//获得用户所选择的文件的完整路径名stringstrSaveFileName=saveFileDialogl.FileName;通用对话框C#.NET程序设计例:创建标准菜单,工具栏、状态栏和对话框等创建应用程序的步骤如下: 创建一个名为“StripSample”的Windows应用程序项目,设计界面如下图所示。 打开其Form1设计界面。添加MenuStrip控件,单击其(),然后选择“插入标准项”。MenuStrip控件会用标准菜单项进行填充。选择“嵌入ToolStripContainer中”,以添加ToolStripContainer。再选择MenuStrip控件,在菜单项“工具”|“选项”下面添加“颜色”的菜单项。 在窗体的顶侧面板添加ToolStrip控件,单击其(),然后选择“插入标准项”,插入标准工具栏按钮。在ToolStrip控件中添加两个子项:“开启进程”Button和“颜色”TextBox。 单击ToolStripContainer的底侧面板展开以添加StatusStrip控件。在StatusStrip控件添加两个子项ToolStripProgressBar和ToolStripStatusLabel子项。 添加OpenFileDialog、SaveFileDialog、ColorDialog、RichTextBox和Timer控件。具体控件布局参考如下图所示。 在窗体Form1编码菜单项“文件”|“退出”Click事件处理程序如下:privatevoid退出XToolStripMenuItem_Click(objectsender,EventArgse){if(MessageBox.Show("真的退出","Form1",MessageBoxButtons.OKCancel) ==DialogResult.OK)Close();}C#.NET程序设计 编码Timer控件的Tick事件(调用Timer.Start()可触发)如下:privatevoidtimer1_Tick(objectsender,EventArgse){//对StatusStrip控件ToolStripProgressBar的value递增,达到时重新由开始。this.progressStatusStripPanel.Value=(this.progressStatusStripPanel.Value== 100)?0:this.progressStatusStripPanel.Value+10;} 编码菜单项“文件”|“打开”Click事件(双击“打开”菜单项)如下:privatevoid打开OToolStripMenuItem_Click(objectsender,EventArgse){//设置文件对话框的属性openFileDialog1.Filter="文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";//文件过滤器openFileDialog1.InitialDirectory="c:";//初始目录openFileDialog1.Title="打开文件";//显示对话框,并且如果在对话框中单击【打开】按钮关闭对话框//则richTextBox1显示用户在对话框中选择的文件if(openFileDialog1.ShowDialog()==DialogResult.OK){//加载文件对话框所选择的文件 richTextBox1.LoadFile(openFileDialog1.FileName, RichTextBoxStreamType.PlainText);//PlainText可用于*.txt文件类型}}C#.NET程序设计 编码工具栏“打开”按钮的Click事件处理与“打开”菜单项执行相同代码即使用相同的“打开OToolStripMenuItem_Click()”方法。操作如下:选择“打开”按钮,在属性窗口选择Click事件,在右边下拉窗口选择“打开OToolStripMenuItem_Click()”,可实现两个事件使用同一事件处理方法。 编码菜单项“文件”|“保存”Click事件(工具栏“保存”按钮的Click事件相同):privatevoid保存SToolStripMenuItem_Click(objectsender,EventArgse){//设置对话框的属性saveFileDialog1.Filter="文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";saveFileDialog1.InitialDirectory="c:";saveFileDialog1.Title="保存文件";//显示对话框,并且如果在对话框中单击【保存】按钮关闭对话框,//则将文本框的内容保存在用户在对话框中选择的文件中if(saveFileDialog1.ShowDialog()==DialogResult.OK){richTextBox1.SaveFile(saveFileDialog1.FileName, RichTextBoxStreamType.PlainText);}}C#.NET程序设计 编码工具栏“颜色”按钮Click事件(菜单项“工具”|“颜色”的Click事件相同):privatevoidcolorToolStripTextBox_Click(objectsender,EventArgse){colorDialog1.Color=richTextBox1.ForeColor;if(colorDialog1.ShowDialog()==DialogResult.OK){//如果在颜色对话框选择颜色并单击【确定】按钮关闭对话框,richTextBox1.ForeColor=colorDialog1.Color;//文本框赋值所选颜色}} 编码工具栏“开启进程”按钮Click事件如下:privatevoidprogressToolStripButton_Click(objectsender,EventArgse){//send
本文档为【C#.NET程序设计 教学课件 ppt 作者 李旗 c#5】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
希望
暂无简介~
格式:ppt
大小:283KB
软件:PowerPoint
页数:0
分类:工学
上传时间:2019-04-30
浏览量:16