C#窗体及常用控件、组件_第1页
C#窗体及常用控件、组件_第2页
C#窗体及常用控件、组件_第3页
C#窗体及常用控件、组件_第4页
C#窗体及常用控件、组件_第5页
已阅读5页,还剩101页未读 继续免费阅读

下载本文档

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

文档简介

第3部分窗体及常用控件、组件本部分要点:1、窗体2、常用控件、组件最现代的编程语言都是面向对象的。关于面向对象的编程语言主要涉及两个概念:类和对象。哪什么是类,什么是对象呢?这两个概念在现代的编程语言是比较复杂的。所有被感兴趣的东西,都是对象;类是某种类别对象的抽象。先暂时举个简单例子说明一下:我们每个人都可以看成一个对象,而所有的人组成一个类人类。对象也是类的实例。在计算机编程语言中,类可以看成是一个扩充了的结构体数据类型,其中既包含数据,也包含函数;而对象可以看成是某种结构体类型的数据。,在C#.NET中,我们将要接触的窗体、控件都是一些类的对象。在C#.NET中程序是由对象的事件来驱动的。改变对象的外观及行为方式可以通过设定和修改对象的属性来做到。对象、属性、方法和事件,是面向对象编程的基本单元。1、对象对象表示类的实例,如窗体,按钮,文本框等。2、属性属件是对象的特性它们定义对象的特征之一(如大小、颜色或屏幕位置),若要更改对象的特征,可更改其相应的属性值3、方法方法是对象可执行的操作。如form1.close();,4、事件是由对象识别的操作,如单击鼠标,则为鼠标单击事件,可以为其编写代码以进行响应,3.1Form类(窗体)窗体是编写C#的Windows应用程序的基础,窗体是用户交互的主要载体,是图形用户界面的基本组成部分。当新建一个“Windows应用程序”时,就会显示一个设计窗体。对窗体进行设计的第一步是设置其属性。在设计时,可在“属性”窗口中执行此操作。然后即可在窗体上放置控件。3.1.1、窗体的常用属性,3.1.2、窗体的常用方法1、显示一个已经装入内存的窗体1).Show()2).ShowDialog();2、如何在代码中创建显示一个新窗体Form2fm=newForm2();fm.Show();/或者fm.ShowDialog();3、隐藏一个打开的窗体.Hide()4、关闭窗体.close()窗体被关闭后,窗体将被从内存中释放,不能再显示,如果要再显示,必须重新创建;如果关闭的是主窗体(form1),则退出整个程序,否则只是关闭指定的非主窗体,而不是退出整个程序。,例:3.1.2-1打开隐藏关闭窗体,publicpartialclassForm1:FormForm2frm2=newForm2();publicForm1()InitializeComponent();privatevoidbutton1_Click(objectsender,EventArgse)frm2.Show();privatevoidbutton2_Click(objectsender,EventArgse)frm2.Hide();privatevoidbutton3_Click_1(objectsender,EventArgse)frm2.Close();,privatevoidbutton4_Click(objectsender,EventArgse)Close();/或用this.close();3.1.3、窗体的常用事件窗体作为对象能够对事件做出响应1、click事件当单击窗体时触发该事件2、load事件装载窗体时触发该事件3、activate当窗体变为活动窗体时触发该事件例3.1.3-1:窗体装载时标题栏显示“窗体装入,背景色为蓝色”,背景色设置为蓝色;单击窗体时标题栏显示“单击窗体,背景色变为紫色”,背景色设置为紫色;,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:软件封面,3.1.4、窗体的设计及布局一、向窗体中添加组件向窗体中添加组件的方法很多,主要有:1)在组件栏中需要添加的组件上单击一下鼠标左键,鼠标形状发生改变。然后在窗体中再单击一下鼠标左键,就将组件添加到窗体中了。这时添加的组件以固定的大小出现在窗体中,接着可以对组件的大小进行调整。2)在组件栏中需要添加的组件上单击一下鼠标左键,鼠标形状发生改变。然后在窗体中某个位置按下鼠标左键并拖动,松开鼠标左键后,组件就以刚才拖动的大小出现在窗体中,接着也可以对组件的大小进行调整。3)在组件栏中双击组件,则被双击的组件会自动添加到当前默认的窗口或容器组件中。,4)在窗体中选择一个组件或多个,通过菜单命令“编辑|复制”复制到剪贴板中,然后通过菜单命令“编辑|粘贴”将剪贴板中的组件粘贴到窗体中。粘贴出来的组件与原组件具有基本一致的属性,如大小、字体等。也可以通过快捷键Ctrl+C将选中的组件复制到剪贴板中,通过快捷键Ctrl+V将剪贴板中的组件粘贴出来。如果在工具栏中添加了剪切(Cut)、复制(Copy)和粘贴(Paste)按钮,可以更快地进行操作。,二、窗体中的组件删除与复制如果要删除窗体中的某个组件,可以先选中该组件,然后按键盘上的Delete键就可以了。也可以通过主菜单中的“编辑|删除”命令实现。此外,也可以一次选中多个组件进行删除操作。选定多个组件的方法有:1)按下Shift键的同时,利用鼠标左键单击各个组件。同时被选中的组件四周将会出现8个灰色的正方形黑点。2)在窗体上没有组件的地方按下鼠标左键并拖动,将会出现一个虚框。松开鼠标左键后,该虚框“触及”到的组件就被选中了。选定组件后就可以进行控件的复制和删除操作。,三、设置可视组件的TabOrder设置焦点在窗体各个控件之间传递的顺序也是一个设计程序时很重要的一步。1、可以通过设置组件的Tabindex属性来确定这种定位的顺序。2、有一个更简单的方法,选择“视图”菜单中的“TAB键顺序”,这时每个控件边上会显示其tabindex属性值,单击控件可改动顺序四、窗体布局1、调整组件的大小和位置改变组件在窗体中的大小和位置可以采用下面的方法:,1)鼠标操作利用鼠标左键单击组件,则将组件选中,这时被选中的组件四周出现8个正方形黑点。在组件上按下鼠标左键并拖动,可以方便地改变组件的位置。如果将鼠标移动到某个黑点上,鼠标形状将变成上下拖动的形状,此时可以按下鼠标左键进行拖动,改变组件的大小。2)键盘操作利用键盘的上()、下()、左()、右()移动键可以在窗体中选择组件。选中某个组件后,通过Ctrl+、Ctrl+、Ctrl+、Ctrl+可以改变组件的位置,通过Shift+、Shift+、Shift+、Shift+可以改变组件的大小。一般利用鼠标进行粗略地定位或大小设置,利用键盘进行精细地定位或大小设置。也可以利用剪贴板对同一类型的组件进行复制,获取相同的大小。,3)统一操作将多个组件作为一个整体进行操作先选中要操作的所有控件,然后选择“格式”菜单,(1)、对齐,(2)、统一大小(3)、控件间距,2、组件的锁定与解锁一般在窗体中将组件的大小和位置安排好后,可以将组件锁定,这样就不会因为误操作而改变已经设置好的大小和位置。可以通过“格式”菜单命令中的“锁定控件”将窗体中的组件“锁定”和“解除锁定”,3.1.5、设置窗体中组件的属性在窗体中选中单个组件后,在属性窗口中,点击“属性”按钮,就可以对其属性进行设置了。如果单个组件在窗体中不好选中,则可以在属性窗口中的对象列表组合框中选择。如果选中了多个组件,则可以统一地进行属性设置。这时对象编辑器中出现的属性为选中组件的共同属性。,“属性”按钮,3.1.6、创建组件的事件处理过程在窗体中选中某个组件后,点击属性窗口中的“事件”按钮,再找到对应事件,双击其右侧空白即可。如果在窗体中双击某个组件,则会自动生成其默认的事件处理过程。例如,对于textbox组件来说,默认的事件就是TextChanged事件。,“事件”按钮,3.2文本型控件3.2.1、Label(标签)Label(标签)控件用来显示文本,是设计应用程序时经常要用到的控件之一。Label(标签)一般放在对象的旁边,用来标记这些对象,从而对用户的操作进行提示,也可以用来显示其它信息。一、主要属性,二、主要事件1、onclick:单击事件2、DoubleClick:双击事件3、onmouseenter:当鼠标指针指向它时触发该事件;4、onmouseleave:当鼠标指针离开它时触发该事件;onmouseenter事件与onmouseleave事件一般同时使用,例3.2.1-1:当鼠标指向label时为突出显示,可将label字体颜色改变,当离开时恢复font类的构造函数,font(字体名,字号,字型),用来设置字体和字号,字形,前两个参数不可省,字形参数可以省。,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);,3.2.2、文本框控件(textbox)文本框控件主要是用来输入和输出文本信息,是开发应用程序时最常用的控件。文本框可以用于单行文本,也可以显示多行文本,并为其输入或输入的文本提供单个格式化样式。文本框显示的内容包含在Text属性中用户可以对输入的文本内容进行删除、插入等操作,文本框还具有一些基本的行为,比如多行文本输入、剪贴板功能等。一、常用属性,二、常用方法1、clear用于清除textbox中的所有文本例:textbox1.clear()2、SelectedText选中的文本例:textbox1.SelectedText=“”,可删除选中的文本3、undo撤消4、copy将选中的文本复制到剪切板例:textbox1.copy5、cut将选中的文本剪切到剪切板例:textbox1.cut6、paste粘贴例:textbox1.paste,7、selectionstart获取选择文本的起点,返回值为整型例:textbox2.text=textbox1.selectionstart8、selectionlength选择文本的长度9、SelectAll:选项中所有文本10、focus为控件获取焦点,即置光标11、打开文件例:3.2.2-1,privatevoidbutton1_Click(objectsender,EventArgse)if(openFileDialog1.ShowDialog()=DialogResult.OK,12、保存文件(例:3.2.2-2)if(saveFileDialog1.ShowDialog()=System.Windows.Forms.DialogResult.OK,三、常用事件例3.2.2-3:在textbox1输入内容,同时同步显示在textbox2中,privatevoidtextBox1_TextChanged(objectsender,EventArgse)textBox2.Text=textBox1.Text;例3.2.2-4:下面我们将使用textbox控件的这些特性编写一个简单的“身份验证”程序,程序中使用了两个Label、两个textbox和两个按钮控件。其中textbox1、textbox2的MaxLength属性值都为,textbox2的PasswordChar为*;另外textbox1限制了输入,只接收数字。当用户在textbox1中输入个数字后,输入焦点自动跳到textbox2中;当确认textbox和textbox中的学号和密码输入正确(学号为950755,密码为123456),Ok按钮被激活,并获得输入焦点。程序界面如下图所示:,privatevoidtextBox1_TextChanged(objectsender,EventArgse)if(textBox1.Text.Length=6)textBox2.Focus();privatevoidtextBox2_TextChanged(objectsender,EventArgse)if(textBox1.Text=950755,privatevoidtextBox1_KeyPress(objectsender,KeyPressEventArgse)if(e.KeyChar=0),例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);,例3.2.2-6:检测回车keydown,例3.2.2-7:做一个简单的文本编辑器,如下图源代码,3.2.3richtextbox(rtf编辑器)richtextbox的属性,方法和事件与textbox相同,但richtextbox的文本编辑功能更为强大,例:3.2.3-1用richtextbox实现文本编辑器源码,3.3按钮型控件3.3.1、button控件按钮(Button)是Windows应用程序界面中最常用、最简单的组件之一。一、常用属性,二、常用事件1、click事件:当点击按钮时触发该事件例3.3.1-1:简单密码检验,三次不对,则退出系统if(textBox1.Text=123456)Form2frm2=newForm2();frm2.Show();Hide();elsetextBox1.Tag=Convert.ToInt16(textBox1.Tag)+1;if(Convert.ToInt16(textBox1.Tag)=3)MessageBox.Show(对不起,密码不对,你无权使用此系统!);Application.Exit();elseMessageBox.Show(密码不对,请重新输入!);textBox1.Focus();textBox1.SelectAll();,3.3.2单选按钮和复选框单选按钮(RadioButton)和复选框(CheckBox)都是用来给用户提供一个选择的界面。单选按钮必须成组出现,用户从给定的选项中只能选中一个选项。复选框可以使用户进行多项选择,提供了从若干项中选择一个、多个、全选或者不选的功能。1、RadioButton常用属性,2、复选框checkBox1常用的属性,例3.3.2-1:设计个人信息输入界面,运行结果如图所示。要求输入姓名、性别、性格,点击“确定”按钮后把输入的信息显示在窗体上,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;,3.4容器控件3.4.1分组框(GruopBox)1、在使用单选按钮时,每次只能选定其中一个选项,当需要在同一个窗体中建立几组相互独立的单选按钮时,就必须使用分组框(GruopBox)。2、分组框就象一个窗体一样,是个容器控件,可以向分组框里添加其他的控件对象。3、分组框最常用的属性就是Name、Text、Font、Visible。3.4.2Panel控件Panel控件常用作容器,也可用作分组,与GruopBox不同的是,Panel控件不能显示标题。,例3.4.1-1完成一个简单的文本编辑器。要求:能够调整文本框中的字号大小和字体颜色,字体名称,字体样式源码,3.5选择型控件3.5.1组合框(ComboBox)组合框(ComboBox)是一个重要的输入控件,比文本框规范,比列表框灵活而且节省空间,其功能和列表框相似一、常用属性1、Items:该属性用来列出表项的内容(1)、静态添加(2)、动态添加例3.5.1-1:如果将系统字体动态添加到combobox1中,将字号从10到50动态添加到combobox2中,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.Items0)(第一项为0),2、Items.Count:该属性列出列表框中表项的数量3、SelectedIndex:该属性的设置值是已选中的表项的位置。是一个从0开始记数的整数值。如果没有选中任何项,SelectedIndex的值为-14、Sorted:该属性用来确定列表框中的项目是否按字母数字升序排列。5、Text:该属性的值为combobox文本框中当前的值,不能直接修改Text属性6、DropDownStyle:DropDownStyle属性用于确定组合框的风格,共有3个可选值:Simple表示简单组合框,它是一个文本框和一个标准列表框组成,列表框将始终显示在屏幕;DropDown表示下拉式组合框,由一个文本框和一个下拉式列表框组成,既可以接受用户的输入,也可以在下拉列表框中选择。这是系统默认值;,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),三、常用事件1、SelectedIndexChanged当内容发生改变时,触发该事件2、click例3.5.1-2:程序运行界面如图所示。要求当点击“添加到组合框”按钮时能把上边文本框中输入的内容添加到组合框中并清空文本框;当改变组合框的选项时,把当前选中的项显示在屏幕上。,privatevoidbutton1_Click(objectsender,EventArgse)if(textBox1.Text!=)comboBox1.Items.Add(textBox1.Text);privatevoidcomboBox1_SelectedIndexChanged(objectsender,EventArgse)label1.Text=你选择的内容是:+comboBox1.Text;,例3.5.1-2:动态添加字体和字号,并要求改变richtextbox中的字体和字号,privatevoidForm1_Load(objectsender,EventArgse)shorti;foreach(FontFamilyallfontsinFontFamily.Families)comboBox1.Items.Add(allfonts.Name);for(i=10;i=50;i+=2)comboBox2.Items.Add(i);,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);,3.5.2列表框(listbox)列表框是一个在矩形多行文本框中选择一项或多项的工具,主要适用于从数量较多的选项中选择一个或多个选项。一、常用属性1、boderstyle边界样式1)None2)FixedSingle3)fixed3d2、Items:该属性用来列出表项的内容(1)、静态添加(2)、动态添加可以用下标的形式来指定其中的某一项:如:Listbox1.Items2表示第3项.,3、Items.Count:该属性列出列表框中表项的数量4、SelectedIndex:该属性的设置值是已选中的表项的位置。是一个从0开始记数的整数值。如果没有选中任何项,SelectedIndex的值为-15、Sorted:该属性用来确定列表框中的项目是否按字母数字升序排列。6、Text:该属性的值为listbox文本框中当前的值,不能直接修改Text属性7、SelectionMode设置是否允许选取多个项目,包括None、One、Multisimple(选择不连续的多项)、Multiextended(选择连续的多项)四种。,二、常用方法列表框可以使用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获取列表框中当前选定项,例3.5.2-1:在指定列表中选出你最喜欢的明星。程序运行界面如图所示,当单击列表框中的某项时,把选中内容输出在屏幕上。privatevoidbutton1_Click(objectsender,EventArgse)if(textBox1.Text!=)listBox1.Items.Add(textBox1.Text);textBox1.Clear();,privatevoidlistBox1_Click(objectsender,EventArgse)stringtemstr=;inti;for(i=0;i=0)while(i=0)while(i=checkedListBox1.Items.Count-1)if(checkedListBox1.GetItemChecked(i)checkedListBox1.Items.RemoveAt(i);elsei+;elseMessageBox.Show(请选择要删除的项!);,提交选择代码:stringtemstr=;inti;for(i=0;i0)for(i=0;i=listBox1.Items.Count-1;i+)Media=axWindowsMediaPlayer1.newMedia(Convert.ToString(listBox1.Itemsi);axWindowsMediaPlayer1.currentPlaylist.appendItem(Media);axWindowsMediaPlayer1.settings.setMode(loop,true);axWindowsMediaPlayer1.Ctlcontrols.play();,3.9.2保存文件对话框保存文件对话框(SaveFileDialog)提供文件保存的功能,它与Windows使用的标准SaveFile对话框相同。保存文件对话框的属性与打开文件对话框的相似,使用方式和打开文件也很相似,只是增加了是否覆盖的提示,而去掉了选取多个文件的功能。同样,使用保存文件对话框时,必须编写你自己的文件保存代码。与OpenFileDialog控件不同的属性主要有两个,即CreatPrompt和OverwritePrompt。1、CreatePrompt属性如果输

温馨提示

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

评论

0/150

提交评论