![窗体及常用控件组件_第1页](http://file4.renrendoc.com/view/24801e279f2d4286359dd9277e61a13a/24801e279f2d4286359dd9277e61a13a1.gif)
![窗体及常用控件组件_第2页](http://file4.renrendoc.com/view/24801e279f2d4286359dd9277e61a13a/24801e279f2d4286359dd9277e61a13a2.gif)
![窗体及常用控件组件_第3页](http://file4.renrendoc.com/view/24801e279f2d4286359dd9277e61a13a/24801e279f2d4286359dd9277e61a13a3.gif)
![窗体及常用控件组件_第4页](http://file4.renrendoc.com/view/24801e279f2d4286359dd9277e61a13a/24801e279f2d4286359dd9277e61a13a4.gif)
![窗体及常用控件组件_第5页](http://file4.renrendoc.com/view/24801e279f2d4286359dd9277e61a13a/24801e279f2d4286359dd9277e61a13a5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
(优选)窗体及常用控件组件现在是1页\一共有104页\编辑于星期一
在C#.NET中,我们将要接触的窗体、控件都是一些类的对象。在C#.NET中程序是由对象的事件来驱动的。改变对象的外观及行为方式可以通过设定和修改对象的属性来做到。对象、属性、方法和事件,是面向对象编程的基本单元。1、对象对象表示类的实例,如窗体,按钮,文本框等。2、属性属件是对象的特性.它们定义对象的特征之一(如大小、颜色或屏幕位置),若要更改对象的特征,可更改其相应的属性值3、方法方法是对象可执行的操作。如form1.close();现在是2页\一共有104页\编辑于星期一4、事件是由对象识别的操作,如单击鼠标,则为鼠标单击事件,可以为其编写代码以进行响应现在是3页\一共有104页\编辑于星期一3.1Form类(窗体)
窗体是编写C#的Windows应用程序的基础,窗体是用户交互的主要载体,是图形用户界面的基本组成部分。当新建一个“Windows应用程序”时,就会显示一个设计窗体。对窗体进行设计的第一步是设置其属性。在设计时,可在“属性”窗口中执行此操作。然后即可在窗体上放置控件。3.1.1、窗体的常用属性现在是4页\一共有104页\编辑于星期一现在是5页\一共有104页\编辑于星期一序号属性功能说明值域16left该组件最左端到包含该组件的容器的最左端的距离
17top该组件最顶端到包含该组件的容器的最顶端的距离
18width该组件的宽度
19height该组件的高度
20startposition窗体运行的起始位置1、manual:由location确定2、centerscreen屏幕居中3、windowsdefaultlocation4、cneterparent在父窗体中居中21windowstate窗体的状态Normal
Minimized
Maximized现在是6页\一共有104页\编辑于星期一3.1.2、窗体的常用方法1、显示一个已经装入内存的窗体
1)<窗体名>.Show()2)<窗体名>.ShowDialog();2、如何在代码中创建显示一个新窗体
Form2fm=newForm2();fm.Show();//或者fm.ShowDialog();3、隐藏一个打开的窗体
<窗体名>.Hide()4、关闭窗体
<窗体名>.close()
窗体被关闭后,窗体将被从内存中释放,不能再显示,如果要再显示,必须重新创建;如果关闭的是主窗体(form1),则退出整个程序,否则只是关闭指定的非主窗体,而不是退出整个程序。现在是7页\一共有104页\编辑于星期一例:3.1.2-1打开隐藏关闭窗体现在是8页\一共有104页\编辑于星期一publicpartialclassForm1:Form{Form2frm2=newForm2();publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){frm2.Show();}privatevoidbutton2_Click(objectsender,EventArgse){frm2.Hide();}privatevoidbutton3_Click_1(objectsender,EventArgse){frm2.Close();}现在是9页\一共有104页\编辑于星期一privatevoidbutton4_Click(objectsender,EventArgse){Close();//或用this.close();}3.1.3、窗体的常用事件窗体作为对象能够对事件做出响应1、click事件当单击窗体时触发该事件2、load事件装载窗体时触发该事件3、activate
当窗体变为活动窗体时触发该事件例3.1.3-1:窗体装载时标题栏显示“窗体装入,背景色为蓝色”,背景色设置为蓝色;单击窗体时标题栏显示“单击窗体,背景色变为紫色”,背景色设置为紫色;现在是10页\一共有104页\编辑于星期一privatevoidForm1_Load(objectsender,EventArgse){this.BackColor=Color.Blue;this.Text="窗体装入,背景色为蓝色";}privatevoidForm1_Click(objectsender,EventArgse){this.BackColor=Color.Purple;this.Text="单击窗体,背景色变为紫色";}其它事件还有mousemove,mousedown,mouseup等例3.1.3-2:软件封面现在是11页\一共有104页\编辑于星期一3.1.4、窗体的设计及布局一、向窗体中添加组件向窗体中添加组件的方法很多,主要有:
1)在组件栏中需要添加的组件上单击一下鼠标左键,鼠标形状发生改变。然后在窗体中再单击一下鼠标左键,就将组件添加到窗体中了。这时添加的组件以固定的大小出现在窗体中,接着可以对组件的大小进行调整。
2)在组件栏中需要添加的组件上单击一下鼠标左键,鼠标形状发生改变。然后在窗体中某个位置按下鼠标左键并拖动,松开鼠标左键后,组件就以刚才拖动的大小出现在窗体中,接着也可以对组件的大小进行调整。
3)在组件栏中双击组件,则被双击的组件会自动添加到当前默认的窗口或容器组件中。现在是12页\一共有104页\编辑于星期一4)在窗体中选择一个组件或多个,通过菜单命令“编辑|复制”复制到剪贴板中,然后通过菜单命令“编辑|粘贴”将剪贴板中的组件粘贴到窗体中。粘贴出来的组件与原组件具有基本一致的属性,如大小、字体等。也可以通过快捷键Ctrl+C将选中的组件复制到剪贴板中,通过快捷键Ctrl+V将剪贴板中的组件粘贴出来。如果在工具栏中添加了剪切(Cut)、复制(Copy)和粘贴(Paste)按钮,可以更快地进行操作。现在是13页\一共有104页\编辑于星期一二、窗体中的组件删除与复制如果要删除窗体中的某个组件,可以先选中该组件,然后按键盘上的Delete键就可以了。也可以通过主菜单中的“编辑|删除”命令实现。此外,也可以一次选中多个组件进行删除操作。选定多个组件的方法有:
1)按下Shift键的同时,利用鼠标左键单击各个组件。同时被选中的组件四周将会出现8个灰色的正方形黑点。
2)在窗体上没有组件的地方按下鼠标左键并拖动,将会出现一个虚框。松开鼠标左键后,该虚框“触及”到的组件就被选中了。选定组件后就可以进行控件的复制和删除操作。现在是14页\一共有104页\编辑于星期一三、设置可视组件的TabOrder
设置焦点在窗体各个控件之间传递的顺序也是一个设计程序时很重要的一步。
1、可以通过设置组件的Tabindex属性来确定这种定位的顺序。
2、有一个更简单的方法,选择“视图”菜单中的“TAB键顺序”,这时每个控件边上会显示其tabindex属性值,单击控件可改动顺序四、窗体布局1、调整组件的大小和位置改变组件在窗体中的大小和位置可以采用下面的方法:现在是15页\一共有104页\编辑于星期一1)鼠标操作利用鼠标左键单击组件,则将组件选中,这时被选中的组件四周出现8个正方形黑点。在组件上按下鼠标左键并拖动,可以方便地改变组件的位置。如果将鼠标移动到某个黑点上,鼠标形状将变成上下拖动的形状,此时可以按下鼠标左键进行拖动,改变组件的大小。2)键盘操作利用键盘的上(↑)、下(↓)、左(←)、右(→)移动键可以在窗体中选择组件。选中某个组件后,通过Ctrl+↑、Ctrl+↓、Ctrl+←、Ctrl+→可以改变组件的位置,通过Shift+↑、Shift+↓、Shift+←、Shift+→可以改变组件的大小。一般利用鼠标进行粗略地定位或大小设置,利用键盘进行精细地定位或大小设置。也可以利用剪贴板对同一类型的组件进行复制,获取相同的大小。现在是16页\一共有104页\编辑于星期一3)统一操作将多个组件作为一个整体进行操作先选中要操作的所有控件,然后选择“格式”菜单,
(1)、对齐现在是17页\一共有104页\编辑于星期一(2)、统一大小(3)、控件间距现在是18页\一共有104页\编辑于星期一2、组件的锁定与解锁一般在窗体中将组件的大小和位置安排好后,可以将组件锁定,这样就不会因为误操作而改变已经设置好的大小和位置。可以通过“格式”菜单命令中的“锁定控件”将窗体中的组件“锁定”和“解除锁定”现在是19页\一共有104页\编辑于星期一3.1.5、设置窗体中组件的属性在窗体中选中单个组件后,在属性窗口中,点击“属性”按钮,就可以对其属性进行设置了。如果单个组件在窗体中不好选中,则可以在属性窗口中的对象列表组合框中选择。如果选中了多个组件,则可以统一地进行属性设置。这时对象编辑器中出现的属性为选中组件的共同属性。“属性”按钮现在是20页\一共有104页\编辑于星期一3.1.6、创建组件的事件处理过程在窗体中选中某个组件后,点击属性窗口中的“事件”按钮,再找到对应事件,双击其右侧空白即可。如果在窗体中双击某个组件,则会自动生成其默认的事件处理过程。例如,对于textbox组件来说,默认的事件就是TextChanged事件。“事件”按钮现在是21页\一共有104页\编辑于星期一3.2文本型控件3.2.1、Label(标签)
Label(标签)控件用来显示文本,是设计应用程序时经常要用到的控件之一。Label(标签)一般放在对象的旁边,用来标记这些对象,从而对用户的操作进行提示,也可以用来显示其它信息。一、主要属性属性名称说明Autosize设置标签能否根据显示内容自动调整大小BorderStyle设置标签是否具有边框及边框的样式Name设置标签的名称,默认为Label1、Label1、…Image设置标签的背景图像TabIndex设置标签的索引Text标签上显示的文本TextAlign设置标签上面显示字符的对齐方式Visible设置标签是否显示在窗体上现在是22页\一共有104页\编辑于星期一二、主要事件
1、onclick:单击事件
2、DoubleClick:双击事件
3、onmouseenter:当鼠标指针指向它时触发该事件;
4、onmouseleave:当鼠标指针离开它时触发该事件;
onmouseenter事件与onmouseleave事件一般同时使用,例3.2.1-1:当鼠标指向label时为突出显示,可将label字体颜色改变,当离开时恢复
font类的构造函数,font(字体名,字号,字型),用来设置字体和字号,字形,前两个参数不可省,字形参数可以省。现在是23页\一共有104页\编辑于星期一privatevoidlabel1_MouseEnter(objectsender,EventArgse){label1.ForeColor=Color.Red;label1.Font=newFont("华文行楷",20);}privatevoidlabel1_MouseLeave(objectsender,EventArgse){label1.ForeColor=Color.Empty;//label1.ForeColor=Color.Black;label1.Font=newFont(“宋体",9);}现在是24页\一共有104页\编辑于星期一3.2.2、文本框控件(textbox)
文本框控件主要是用来输入和输出文本信息,是开发应用程序时最常用的控件。文本框可以用于单行文本,也可以显示多行文本,并为其输入或输入的文本提供单个格式化样式。文本框显示的内容包含在Text属性中用户可以对输入的文本内容进行删除、插入等操作,文本框还具有一些基本的行为,比如多行文本输入、剪贴板功能等。一、常用属性现在是25页\一共有104页\编辑于星期一现在是26页\一共有104页\编辑于星期一现在是27页\一共有104页\编辑于星期一属性说明dock控件固定在窗体的位置backcolor背景色forecolor前景色,字体颜色location控件在窗体中的位置,是一个二维修数,X为横坐标,Y为纵坐标,左上角坐标size控件在窗体中的大小,是一个二维修数,width为宽度,height为高度现在是28页\一共有104页\编辑于星期一二、常用方法1、clear
用于清除textbox中的所有文本例:textbox1.clear()2、SelectedText
选中的文本例:textbox1.SelectedText=“”,可删除选中的文本3、undo
撤消4、copy将选中的文本复制到剪切板例:textbox1.copy5、cut将选中的文本剪切到剪切板例:textbox1.cut6、paste粘贴例:textbox1.paste现在是29页\一共有104页\编辑于星期一7、selectionstart获取选择文本的起点,返回值为整型例:textbox2.text=textbox1.selectionstart8、selectionlength选择文本的长度9、SelectAll:选项中所有文本10、focus为控件获取焦点,即置光标11、打开文件例:3.2.2-1现在是30页\一共有104页\编辑于星期一privatevoidbutton1_Click(objectsender,EventArgse){if(openFileDialog1.ShowDialog()==DialogResult.OK&&openFileDialog1.FileName!=""){System.IO.StreamReaderdin=newSystem.IO.StreamReader(openFileDialog1.FileName,System.Text.Encoding.Default);stringstr=din.ReadToEnd();din.Close();textBox1.Text=str;}}现在是31页\一共有104页\编辑于星期一12、保存文件(例:3.2.2-2)if(saveFileDialog1.ShowDialog()==System.Windows.Forms.DialogResult.OK&&saveFileDialog1.FileName!=""){System.IO.StreamWriterdout=newSystem.IO.StreamWriter(saveFileDialog1.FileName,false,System.Text.Encoding.Default);stringtempstr=textBox1.Text;dout.WriteLine(tempstr);dout.Close();
}现在是32页\一共有104页\编辑于星期一三、常用事件例3.2.2-3:在textbox1输入内容,同时同步显示在textbox2中现在是33页\一共有104页\编辑于星期一privatevoidtextBox1_TextChanged(objectsender,EventArgse){textBox2.Text=textBox1.Text;}例3.2.2-4:下面我们将使用textbox控件的这些特性编写一个简单的“身份验证”程序,程序中使用了两个Label、两个textbox和两个按钮控件。其中textbox1、textbox2的MaxLength属性值都为6,textbox2的PasswordChar为‘*’;另外textbox1限制了输入,只接收数字。当用户在textbox1中输入6个数字后,输入焦点自动跳到textbox2中;当确认textbox1和textbox2中的学号和密码输入正确(学号为950755,密码为123456),Ok按钮被激活,并获得输入焦点。程序界面如下图所示:现在是34页\一共有104页\编辑于星期一现在是35页\一共有104页\编辑于星期一privatevoidtextBox1_TextChanged(objectsender,EventArgse){if(textBox1.Text.Length==6)textBox2.Focus();}privatevoidtextBox2_TextChanged(objectsender,EventArgse){if(textBox1.Text=="950755"&&textBox2.Text=="123456"){button1.Enabled=true;button1.Focus();}}现在是36页\一共有104页\编辑于星期一privatevoidtextBox1_KeyPress(objectsender,KeyPressEventArgse){if((e.KeyChar>='0')&&(e.KeyChar<='9')){}elseif((byte)e.KeyChar==8)//8就是回格,backspace(删除).{}else{e.Handled=true;}}现在是37页\一共有104页\编辑于星期一例3.2.2-5:编程实现获取功能键的ASCII值
privatevoidtextBox1_KeyDown(objectsender,KeyEventArgse){textBox2.Text=Convert.ToString(e.KeyValue);}privatevoidtextBox1_KeyPress(objectsender,KeyPressEventArgse){textBox2.Text=Convert.ToString(Convert.ToInt16(e.KeyChar));//textBox2.Text=Convert.ToString((byte)e.KeyChar);}现在是38页\一共有104页\编辑于星期一例3.2.2-6:检测回车keydown现在是39页\一共有104页\编辑于星期一例3.2.2-7:做一个简单的文本编辑器,如下图源代码现在是40页\一共有104页\编辑于星期一3.2.3richtextbox(rtf编辑器)richtextbox的属性,方法和事件与textbox相同,但richtextbox的文本编辑功能更为强大现在是41页\一共有104页\编辑于星期一例:3.2.3-1用richtextbox实现文本编辑器源码现在是42页\一共有104页\编辑于星期一3.3按钮型控件3.3.1、button控件按钮(Button)是Windows应用程序界面中最常用、最简单的组件之一。一、常用属性现在是43页\一共有104页\编辑于星期一现在是44页\一共有104页\编辑于星期一二、常用事件1、click事件:当点击按钮时触发该事件例3.3.1-1:简单密码检验,三次不对,则退出系统
if(textBox1.Text=="123456"){Form2frm2=newForm2();frm2.Show();Hide();}else{textBox1.Tag=Convert.ToInt16(textBox1.Tag)+1;if(Convert.ToInt16(textBox1.Tag)==3){MessageBox.Show("对不起,密码不对,你无权使用此系统!");Application.Exit();}else{MessageBox.Show("密码不对,请重新输入!");textBox1.Focus();textBox1.SelectAll();}现在是45页\一共有104页\编辑于星期一3.3.2单选按钮和复选框单选按钮(RadioButton)和复选框(CheckBox)都是用来给用户提供一个选择的界面。单选按钮必须成组出现,用户从给定的选项中只能选中一个选项。复选框可以使用户进行多项选择,提供了从若干项中选择一个、多个、全选或者不选的功能。1、RadioButton常用属性现在是46页\一共有104页\编辑于星期一属性名称说明Appearance单选控件的外观,有两种方式分别是Normal和Button方式,一般为NormalChecked是否被选中Text显示标题,告诉用户该选项是什么CheckAlign对齐方式现在是47页\一共有104页\编辑于星期一2、复选框checkBox1常用的属性
属性名称说明Appearance外观显示,有两种方式分别是Normal和Button方式Checked一个布尔值,当属性被设置为True时表示被选中,如果值被设置为False表示没有被选中CheckAlign复选框的对齐方式Text显示标题,告诉用户该选项是什么现在是48页\一共有104页\编辑于星期一例3.3.2-1:设计个人信息输入界面,运行结果如图所示。要求输入姓名、性别、性格,点击“确定”按钮后把输入的信息显示在窗体上现在是49页\一共有104页\编辑于星期一stringstr=textBox1.Text;if(radioButton1.Checked)str=str+","+radioButton1.Text;elsestr=str+","+radioButton2.Text;if(checkBox1.Checked)str=str+","+checkBox1.Text;if(checkBox2.Checked)str=str+","+checkBox2.Text;if(checkBox3.Checked)str=str+","+checkBox3.Text;Label5.Text=str;现在是50页\一共有104页\编辑于星期一3.4容器控件3.4.1分组框(GruopBox)1、在使用单选按钮时,每次只能选定其中一个选项,当需要在同一个窗体中建立几组相互独立的单选按钮时,就必须使用分组框(GruopBox)。2、分组框就象一个窗体一样,是个容器控件,可以向分组框里添加其他的控件对象。3、分组框最常用的属性就是Name、Text、Font、Visible。3.4.2Panel控件
Panel控件常用作容器,也可用作分组,与GruopBox不同的是,Panel控件不能显示标题。现在是51页\一共有104页\编辑于星期一例3.4.1-1完成一个简单的文本编辑器。要求:能够调整文本框中的字号大小和字体颜色,字体名称,字体样式源码现在是52页\一共有104页\编辑于星期一3.5选择型控件3.5.1组合框(ComboBox)组合框(ComboBox)是一个重要的输入控件,比文本框规范,比列表框灵活而且节省空间,其功能和列表框相似一、常用属性1、Items:该属性用来列出表项的内容(1)、静态添加(2)、动态添加例3.5.1-1:如果将系统字体动态添加到combobox1中,将字号从10到50动态添加到combobox2中现在是53页\一共有104页\编辑于星期一
shorti;foreach(FontFamilyallfontsinFontFamily.Families){comboBox1.Items.Add(allfonts.Name);}for(i=10;i<=50;i+=2){comboBox2.Items.Add(i);}可以用下标的形式来指定其中的某一项:textbox1.text=Convert.ToString(combobox1.Items[0])(第一项为0)现在是54页\一共有104页\编辑于星期一2、Items.Count:该属性列出列表框中表项的数量3、SelectedIndex:该属性的设置值是已选中的表项的位置。是一个从0开始记数的整数值。如果没有选中任何项,SelectedIndex的值为-14、Sorted:该属性用来确定列表框中的项目是否按字母数字升序排列。5、Text:该属性的值为combobox文本框中当前的值,不能直接修改Text属性6、DropDownStyle:DropDownStyle属性用于确定组合框的风格,共有3个可选值:Simple表示简单组合框,它是一个文本框和一个标准列表框组成,列表框将始终显示在屏幕;DropDown表示下拉式组合框,由一个文本框和一个下拉式列表框组成,既可以接受用户的输入,也可以在下拉列表框中选择。这是系统默认值;现在是55页\一共有104页\编辑于星期一DropDownList示下拉列表框,它不允许用户输入文本,只能从下拉列表框中选择列表项。二、组合框常用方法组合框可以使用Items.Add、Items.Clear和Items.Remove等方法,用来在运行期间修改列表框的内容。1、clear:清除列表框中的所有项
combobox1.clear;2、add,:在末尾加入一行
combobox1.items.add(textbox1.text);3、insert:在某一项之前插入一项
combobox1.Items.Insert(4,textbox1.Text);4、remove,removeat:删除某一项
ComboBox1.Items.Removeat(0)现在是56页\一共有104页\编辑于星期一三、常用事件1、SelectedIndexChanged
当内容发生改变时,触发该事件2、click例3.5.1-2:程序运行界面如图所示。要求当点击“添加到组合框”按钮时能把上边文本框中输入的内容添加到组合框中并清空文本框;当改变组合框的选项时,把当前选中的项显示在屏幕上。现在是57页\一共有104页\编辑于星期一privatevoidbutton1_Click(objectsender,EventArgse){if(textBox1.Text!=""){comboBox1.Items.Add(textBox1.Text);}}privatevoidcomboBox1_SelectedIndexChanged(objectsender,EventArgse){label1.Text="你选择的内容是:"+comboBox1.Text;}现在是58页\一共有104页\编辑于星期一例3.5.1-2:动态添加字体和字号,并要求改变richtextbox中的字体和字号
现在是59页\一共有104页\编辑于星期一privatevoidForm1_Load(objectsender,EventArgse){shorti;foreach(FontFamilyallfontsinFontFamily.Families){comboBox1.Items.Add(allfonts.Name);;}for(i=10;i<=50;i+=2){comboBox2.Items.Add(i);}
}现在是60页\一共有104页\编辑于星期一privatevoidcomboBox1_SelectedIndexChanged(objectsender,EventArgse){//stringnowname=richTextBox1.SelectionFont.Name;intnowsize=Convert.ToInt32(richTextBox1.SelectionFont.Size);FontStylenowstyle=richTextBox1.SelectionFont.Style;richTextBox1.SelectionFont=newFont(comboBox1.Text,nowsize,nowstyle);}privatevoidcomboBox2_SelectedIndexChanged(objectsender,EventArgse){stringnowname=richTextBox1.SelectionFont.Name;FontStylenowstyle=richTextBox1.SelectionFont.Style;richTextBox1.SelectionFont=newFont(comboBox1.Text,Convert.ToInt32(comboBox2.Text),nowstyle);}现在是61页\一共有104页\编辑于星期一3.5.2列表框(listbox)
列表框是一个在矩形多行文本框中选择一项或多项的工具,主要适用于从数量较多的选项中选择一个或多个选项。一、常用属性1、boderstyle边界样式
1)None2)FixedSingle3)fixed3d2、Items:该属性用来列出表项的内容(1)、静态添加(2)、动态添加可以用下标的形式来指定其中的某一项:如:Listbox1.Items[2]表示第3项.现在是62页\一共有104页\编辑于星期一3、Items.Count:该属性列出列表框中表项的数量4、SelectedIndex:该属性的设置值是已选中的表项的位置。是一个从0开始记数的整数值。如果没有选中任何项,SelectedIndex的值为-15、Sorted:该属性用来确定列表框中的项目是否按字母数字升序排列。6、Text:该属性的值为listbox文本框中当前的值,不能直接修改Text属性7、SelectionMode
设置是否允许选取多个项目,包括None、One、Multisimple(选择不连续的多项)、Multiextended(选择连续的多项)四种。现在是63页\一共有104页\编辑于星期一二、常用方法列表框可以使用Items.Add、Items.Clear和Items.Remove等方法,用来在运行期间修改列表框的内容。1、clear:清除列表框中的所有项
listbox1.clear;2、add,:在末尾加入一行
listbox1.items.add(textbox1.text);3、insert:在某一项之前插入一项
listbox1.Items.Insert(4,textbox1.Text);4、remove,removeat:删除某一项
listBox2.Items.Removeat(0)5、ListBox1.GetSelected(i)判断第i项是否被选中6、ListBox1.SelectedItem获取列表框中当前选定项现在是64页\一共有104页\编辑于星期一例3.5.2-1:在指定列表中选出你最喜欢的明星。程序运行界面如图所示,当单击列表框中的某项时,把选中内容输出在屏幕上。
privatevoidbutton1_Click(objectsender,EventArgse){if(textBox1.Text!=""){listBox1.Items.Add(textBox1.Text);textBox1.Clear();}}现在是65页\一共有104页\编辑于星期一privatevoidlistBox1_Click(objectsender,EventArgse){stringtemstr="";inti;for(i=0;i<=listBox1.Items.Count-1;i++){if(listBox1.GetSelected(i))temstr=temstr+""+listBox1.Items[i];}label3.Text=(string)("你选择的人是:"+temstr);}现在是66页\一共有104页\编辑于星期一privatevoidbutton2_Click(objectsender,EventArgse){inti=0;if(listBox1.SelectedIndex>=0){while(i<=listBox1.Items.Count-1){if(listBox1.GetSelected(i))listBox1.Items.RemoveAt(i);elsei++;}}elseMessageBox.Show("请选择要删除的项!"); }现在是67页\一共有104页\编辑于星期一例3.5.2-2:实现如下图所示功能源程序现在是68页\一共有104页\编辑于星期一3.5.3CheckedListBox控件
CheckedListBox控件的用法和ListBox大致相同,区别就是每个项目前面多了一个复选框,它可以从列表中选择多个项目,同样可以通过其Items属性来设置其中的项目。一、属性1、Items:该属性用来列出表项的内容
(1)、静态添加
(2)、动态添加2、Items.Count:该属性列出列表框中表项的数量3、SelectedIndex:该属性的设置值是已选中的表项的位置。是一个从0开始记数的整数值。如果没有选中任何项,SelectedIndex的值为-1现在是69页\一共有104页\编辑于星期一4、Sorted:该属性用来确定列表框中的项目是否按字母数字升序排列。二、常用方法1、clear:清除列表框中的所有项2、add,:在末尾加入一行3、insert:在某一项之前插入一项4、remove,removeat:删除某一项5、Checkedlistbox1.getItemchecked(i)判断第i项是否被选中6、CheckedListBox1.SelectedItem获取当前选定项现在是70页\一共有104页\编辑于星期一例3.5.3-1:添加代码if(textBox1.Text!=""){checkedListBox1.Items.Add(textBox1.Text);textBox1.Clear();textBox1.Focus();}现在是71页\一共有104页\编辑于星期一删除代码:
inti=0;if(checkedListBox1.SelectedIndex>=0){while(i<=checkedListBox1.Items.Count-1){if(checkedListBox1.GetItemChecked(i))checkedListBox1.Items.RemoveAt(i);elsei++;}}elseMessageBox.Show("请选择要删除的项!");现在是72页\一共有104页\编辑于星期一提交选择代码:
stringtemstr="";inti;for(i=0;i<=checkedListBox1.Items.Count-1;i++){if(checkedListBox1.GetItemChecked(i))temstr=temstr+""+checkedListBox1.Items[i];}Label1.Text="你选择的景点是:"+temstr;现在是73页\一共有104页\编辑于星期一属性名称说明Increment当用户单击微调框的箭头按钮时所增加或减少的量Maximum微调框所能调节到的最大值Minimum微调框所能调节到的最小值TextAlign微调框中数字的对齐方式Value微调框的当前值UpDownAlign设置微调框中按钮的排列方式,其值可为“Right”或“Left”3.5.4微调框一、数字微调框NumericUpDown11、属性现在是74页\一共有104页\编辑于星期一2、事件常用事件有valuechanged和click事件例3.5.4-1:用数字微调框NumericUpDown1控制textbox1中字体的大小
textBox1.Font=newFont("",(byte)numericUpDown1.Value);现在是75页\一共有104页\编辑于星期一二、集合微调框DomainUpDown1
集合微调框DomainUpDown1外形和数字微调框相似,但性质和lisbox相似1、属性1)Items:该属性用来列出表项的内容
(1)、静态添加
(2)、动态添加2、Items.Count:该属性列出列表框中表项的数量3、SelectedIndex:该属性的设置值是已选中的表项的位置。是一个从0开始记数的整数值。如果没有选中任何项,SelectedIndex的值为-14、Sorted:该属性用来确定列表框中的项目是否按字母数字升序排列。5、Text:该属性的值为DomainUpDown文本框中当前的值现在是76页\一共有104页\编辑于星期一二、常用事件常用事件有SelectedItemChanged,Click例:3.5.4-2源码现在是77页\一共有104页\编辑于星期一3.6计时器控件
C#.NET中的大多数控件都是用来建立用户界面的,程序运行后,这些控件出现在窗体上,构成了用户界面。而有些控件不用来构成用户界面,程序运行后消失,这类控件称为非用户界面控件,计时器就是一种非用户界面控件
Timer是一个不可视组件,用于产生一个定时器,以便对事件进行实时控制。可以设定每隔特定的时间间隔执行一段代码。一、属性1、Interval,该属性用来设置计时器事件之间的间隔,以毫秒为单位,其值Integer类型。60000毫秒为1分钟,如果把Interval属性设置为1000,则表明每秒钟发生一个计时器事件。现在是78页\一共有104页\编辑于星期一2、enabled
为TRUE时定时器开始工作,为FALSE时暂停。二、事件计时器的事件为Tick事件,只要启用了计时器,则每个时间间隔触发一次Tick事件,自动执行事件代码。例3.6-1:将系统时间动态的显示出来现在是79页\一共有104页\编辑于星期一label1.Text=string.Format("{0:yyyy年MM月dd日HH时mm分ss秒fff毫秒,dddd}",DateTime.Now);其中format是格式化输出函数1、MM表示月,mm表示分2、fff毫秒3、dddd星期几例3.6-2:滚动字幕现在是80页\一共有104页\编辑于星期一privatevoidbutton1_Click(objectsender,EventArgse){if(button1.Text=="开始"){timer1.Enabled=true;button1.Text="暂停";}else{timer1.Enabled=false;button1.Text="开始";}}现在是81页\一共有104页\编辑于星期一privatevoidbutton2_Click(objectsender,EventArgse){if(button2.Text=="向右")button2.Text="向左";elsebutton2.Text="向右";}现在是82页\一共有104页\编辑于星期一privatevoidtimer1_Tick(objectsender,EventArgse){if(button2.Text=="向左"){if(label1.Left<-label1.Width)label1.Left=panel1.Width;elselabel1.Left=label1.Left-5;}else{if(label1.Left>panel1.Width)label1.Left=-label1.Width;elselabel1.Left=label1.Left+5;}}现在是83页\一共有104页\编辑于星期一3.7日期控件日期控件为用户查看和设置日期信息提供了一个直观的图形界面。其中DateTimePicker控件,用户可以在日期或时间列表中选择单个项。MonthCalendar控件,该控件以网格形式显示日历,网格包含月份的编号日期。3.7.1DateTimePicker控件名称功能CalendarForeColor设置显示月份的文本的颜色CalendarMonthBackGround设置在月份中显示的背景色Format设置日期的格式MaxDate设置最大日期值MinDate设置最小日期值Value设置当前值ShowUpDown使用上、下箭头按钮来设置日期现在是84页\一共有104页\编辑于星期一3.7.2MonthCalendar控件名称功能AnnualyBolderDate时间数据对象,数组内的日期会在每年的当日以黑体字显示,适用于生日、节假日MonthlyDates时间数据对象,数组内的日期会在每月的当日以黑体字显示,适用于月度计划BoldedDate时间数据对象,数组内的日期会以黑体字显示,适用于特殊日期ShowToday设置是否显示今天的日期ShowTodayCircle今天的日期是否以红色圈起来ShowWeekNumbers是否显示周期现在是85页\一共有104页\编辑于星期一例:3.7-1dateTimePicker1_ValueChanged代码如下:label1.Text=Convert.ToString(dateTimePicker1.Value);monthCalendar1_DateChanged代码如下:label2.Text=Convert.ToString(monthCalendar1.SelectionStart);现在是86页\一共有104页\编辑于星期一3.8图片框控件图片框(PictureBox)用于在窗体上显示图形信息,包括位图(.BMP)、GIF、JPEG、图元(.WMF)、图标(.ICO)等图形文件。一、属性属性名称说明Borderstyle边框样式Size图片框的实际大小,一般以像素为单位SizeMode用于设置图片的显示格式Normal普通模式StretchImage拉伸Autosize自动调整CenterImage居中Image设定欲显示的图形文件,可在设计或运行时设置现在是87页\一共有104页\编辑于星期一二、图形文件的装入⒈在设置阶段装入图形文件用属性窗口中的Image属性装入。
⒉在运行期间装入图形文件可以用Image.FromFile方法把图形装入图片框中。此方法的功能与Image属性基本相同,差别就是此种方法是在程序运行期间把图形文件装入图片框(动态),其一般格式为:图片框名.Image=Image.FromFile(″文件名″)3、在运行期间取消图形文件图片框名.Image=Nothing现在是88页\一共有104页\编辑于星期一例3.8-1:当鼠标指向对应的鱼时,显示该鱼的图片源码现在是89页\一共有104页\编辑于星期一例:3.8-2if(OpenFileDialog1.ShowDialog()==DialogResult.OK&&OpenFileDialog1.FileName!=""){PictureBox1.Image=Image.FromFile(OpenFileDialog1.FileName);}}现在是90页\一共有104页\编辑于星期一3.9对话框3.9.1、打开对话框openFileDialogopenFileDialog控件提供打开文件的功能,是一个预先配置的对话框。一、常用属性
1、Title属性:设置对话框的标题,默认的情况下标题为“打开”。
2、FileName属性:设置或返回的文件名。
3、Filter属性:用来指定在对话框中显示的文件类型。
OpenFileDialog1.Filter="文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf"4、Filterlndex属性:用来指定默认的过滤器,其设置值为一个整数。现在是91页\一共有104页\编辑于星期一5、InitialDirectory属性:用来指定在对话框中显示的起始目录。
6、Multiselect属性:使用Multiselect属性可使用户选择多个要打开的文件。
7、FileNames属性:当Multiselect属性设置为True时,设置或返回的多个文件名。
filenames是一个数组,可以用filenames[i]去获取第i文件的文件名,可以用OpenFileDialog1.FileNames.Length去获取选择的文件的数目。现在是92页\一共有104页\编辑于星期一二、打开文件对话框的常用方法有:1、ShowDialog:在运行时显示该对话框。
openFileDialog1.ShowDialog()2、调用对话调框,而且用户选择了文件名,而且点击了打开(非取消)按钮
if(openFileDialog1.ShowDialog()==DialogResult.OK&&openFileDialog1.FileName!=""){……..…..}例3.9.1-1:用打开对话框实现打开文件现在是93页\一共有104页\编辑于星期一例3.9.1-2:用打开对话框实现,一次性打开多个文件,并将这些文件名添加到列表框现在是94页\一共有104页\编辑于星期一inti;listBox1.Items.Clear();openFileDialog1.Filter="AllFiles(*.*)|*.*|mp3文件(*.mp3)|*.mp3|wav文件(*.wav)|*.wav";if(openFileDialog1.ShowDialog()==DialogResult.OK&&openFileDialog1.FileName!=""){for(i=0;i<=openFileDialog1.FileNames.Length-1;i++)listBox1.Items.Add(openFileDialog1.FileNames[i]);}现在是95页\一共有104页\编辑于星期一privatevoidbutton2_Click(objectsender,EventArgse){WMPLib.IWMPMediaMedia;inti;if(listBox1.Items.Count>0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2030年中国水果面膜市场供需渠道与未来投资效益可行性研究报告
- 电子出版物多语种翻译与国际推广考核试卷
- 2024-2030年中国水下船灯行业市场发展趋势与前景展望战略分析报告
- 2024-2030年中国氨纶纤维行业市场深度调研及竞争格局与投资价值预测研究报告
- 2024-2030年中国氧化镓功率电子器件行业需求态势与投资效益预测报告
- 2024-2030年中国氢氧化镁行业现状动态及应用前景预测研究报告
- 2024-2030年中国氟化烃行业竞争策略及未来发展战略规划研究报告
- 2024-2030年中国气凝胶产业市场前景动态及投资趋势预测报告
- 填料密封在高速列车中的抗风振性能考核试卷
- 2024-2030年中国比特币行业市场发展趋势与前景展望战略分析报告
- 人教版高一英语-必修第二册-Unit-1-Listening-and-Talking-课件
- 小学三年级混合运算练习题400道(加减乘除混合运算精校word打印版)
- 六类网线检测报告
- 承包商评价表
- 名企参考:安井食品组织结构及部门职责
- 高中班团干部培训
- 2022年财政局教科文股工作总结
- PEP人教版英语四年级上册教学计划及教学进度表
- XJJ 037-2018 外墙外保温薄抹灰系统应用技术规程
- 一年级美术上册 《我的新朋友》教学课件
- 电影专业术语大全(附中英文对照)
评论
0/150
提交评论