




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章 Windows应用程序开发7.1 集成开发环境7.1.1 Windows桌面开发环境 Windows窗体设计器Windows窗体设计器是进行用户界面设计的主要工具。当创建一个新的Windows应用程序时,会产生一个空白窗体。当我们双击窗体中的任何一个位置,便会弹出代码设计器。 工具箱工具箱包含.net开发人员可以使用的所有控件集,所有控件都继承自Control基类:1、可以使用其右上角的大头针将其固定。2、若不小心关闭了工具箱,可以选择“视图/工具箱”将其重新打开。3、向窗体中添加控件时,可以单某控件,再在窗体中按住鼠标拖动画出控件对象,也可双击控件,在窗体中生成。4、右击工具箱,可进行工具箱的其它设置。 服务器资源管理器服务器资源管理器是 Visual Studio .NET 的服务器管理控制台。使用服务器资源管理器打开数据连接,登录服务器,浏览它们的数据库和系统服务。可以将节点从服务器资源管理器拖放到 Visual Studio .NET 设计器上。这将创建新的数据组件,这些组件预配置为引用所拖放的项。 解决方案资源管理器解决方案资源管理器提供项目及其文件的有组织的视图,并且提供对项目和文件相关命令的便捷访问。一个解决方案可有多个项目,每个项目的有以下几个组成部分:1、属性“属性”节点表示应用于整个项目的配置设置,这些设置存储在解决方案文件夹的 .csproj 文件中。这些设置包括编译选项、安全性和部署设置,以及其他更多设置。可以使用“项目设计器”对项目进行修改,该设计器是一组“属性页”,可以通过右击“属性”然后选择“打开”进行访问。(1)AssemblyInfo.cs:主要用来设定生成的有关程序集的常规信息dll文件的一些参数(2)资源资源是应用程序中包含的数据,但是以可独立于其他源代码进行修改的方法存储。例如,可以将所有字符串作为资源存储,而不是将它们硬编码到源代码中。可以在日后将这些字符串翻译成不同语言,然后将它们添加到交付给客户的应用程序文件夹中,而不必重新编译程序集。Visual C# 定义五种类型的资源:字符串、图像、图标、音频和文件。可以使用“资源设计器”(可以在“项目设计器”中的“资源”选项卡上访问)添加、移除或编辑资源。(3)设置实现 Window 窗体应用程序中的应用程序功能设置。2、引用通常,引用标识本项目引用的DLL 文件,如 .NET Framework 类库文件之一。它也可以引用 .NET 程序集,使您的应用程序可以调用 COM 对象或本机 Win32 DLL 上的方法。如果程序创建了其他程序集中定义的类的实例,则必须在项目中添加对该文件的引用,才能编译项目。若要添加引用,请单击“项目”菜单上的“添加引用”。3、窗体创建 Windows 窗体项目时,默认情况下,Visual C# 会将一个窗体添加到项目中,并为其命名为 Form1。表示该窗体的两个文件称为 Form1.cs 和 Form1.designer.cs。您可在 Form1.cs 中写入代码;designer.cs 文件是 Windows 窗体设计器写入代码的文件,这些代码用于实现所有通过从“工具箱”中拖放控件执行的操作。可以通过单击“项目”菜单项然后选择“添加 Windows 窗体”来添加新窗体。每个窗体都有两个文件与其相关联。4、program.cs 包含应用程序的入口点。单个 .cs 文件可以包含任意数量的类和结构定义。5、其他源代码文件项目可以包含任意数量的其他 .cs 文件,这些文件可能与也可能不与特定的 Windows 窗体相关联。若要访问解决方案资源管理器,请在“视图”菜单上选择“解决方案资源管理器”。 属性属性窗口显示当前选中控件的属性及事件等信息,用户可以通过此窗口进行控件状态的设置及事件的设计等。当然也可通过代码进行。7.1.2 桌面应用程序开发的一般步骤 第一步:新建项目此步的结结果是创建了一个空白窗体,如果需要多个窗体,可以通过“项目/添加Windows窗体”项目添加新的窗体。也可通过右击“解决方案资源管理器”中应用程序的名称选择“添加Windows窗体”进行添加。 界面设计从工具箱中拖放需要的控件置于窗体中,并进行布局设计。 控件属性设置利用属性窗口进行相应控件属性的设置。 程序设计双击任一控件,或选择控件的相应事件,可进入代码编辑器,并根据具体要求编写代码。 程序调试利用“调试”菜单的相关命令,可以进行程序的执行及调试,如设置断点、逐语句、逐过程执行等。7.2 窗体(Form)Windows窗体是.Net Framework的类Form的一个实例,是用户界面最为基本的元素,它是一个容器类控件,在程序运行时会产生一个窗口。请看下面的代码:using System;using System.Windows.Forms;namespace csprjpublic class winpublic static void Main()Application.Run(new Form();Windows窗体的共同属性:标题栏、控制按钮、边界、窗口区。其中提供静态方法和属性以管理应用程序,例如启动和停止应用程序、处理Windows消息的方法和获取应用程序信息的属性。7.2.1 窗体的基本属性1、窗体的名称属性(Name)用于在窗体中引用窗体,实际上就是窗体派生类的类名。2、窗体的标题属性(Text)用于设置窗体标题栏显示的内容。是一个字符串类型。3、窗体的控制菜单属性(1)ControlBox:布尔类型,是否显示控制菜单。default:True。(2)MaximizeBox:布尔类型,是否显示最大化按钮。default:True。(3)MaximizeBox:布尔类型,是否显示最小化按钮。default:True。(4)AutoScale:获取或设置一个值,该值指示窗体是否调整其大小以适合该窗体上使用的字体高度,以及是否缩放其控件。(5)MaximumSize:获取窗体可调整到的最大大小。(6)MinimumSize:获取或设置窗体可调整到的最小大小。(7)ShowInTaskbar:获取或设置一个值,该值指示是否在 Windows 任务栏中显示窗体。4、影响窗体外观的属性(1)FormBorderStyle。用于控制窗体边界的类型。并有可能影响标题栏及其按钮。其值可能取如下值:None无边框,不可以改变大小Fixed3D固定的三维边框FixedDialog固定的对话框样式的粗边框FixedSingle固定的单行边框FixedToolWindow可调整大小的工具窗口边框。工具窗口不会显示在任务栏中也不会显示在当用户按ALT+TAB时出现的窗口中Sizable调整大小的边框SizableToolWindow调整大小的工具窗口边框。工具窗口不会显示在任务栏中也不会显示在当用户按ALT+TAB时出现的窗口中(2)Size属性:用来设置窗体的大小。Size为System.Drawing命名空间中的一个结构,存储一个有序整数对,可设置控件的宽度和高度。(3)Location属性:设置窗体在屏幕上的位置。通过窗体的左上角的坐标调整来实现。该属性为一Point对象。Point 为System.Drawing命名空间中的一个结构,表示在二维平面中定义点的、整数 x 和 y 坐标的有序对。(4)BackColor属性:设置窗体的背景颜色。该属性为一Color对象,Color为System.Drawing命名空间中的一个结构。(5)BackgroundImage属性:设置窗体的背景图象。也可以通过创建一个Image类的FromFile方法获取一副图片。(6)Opacity属性:设置窗体的透明度。0%:完全透明;100%:完全不透明。(7)TransparencyKey属性:指定窗体窗体上将显示为透明的颜色,则窗体中有此颜色的区域将变为透明。利用此属性可设置不规则的窗体。System.Drawing.Bitmap Img = new System.Drawing.Bitmap(c:1.bmp);/Img.MakeTransparent(Img.GetPixel(1,1);this.BackgroundImage = Img;this.TransparencyKey = Img.GetPixel(1,1);制作不规则窗体,着色质量只能是16位。例:不规则窗体实例制作,见示例。5、其它AcceptButton:获取或设置当用户按 ENTER 键时所单击的窗体上的按钮。CancleButton:获取或设置当用户按 ESC 键时单击的按钮控件。Icon:为窗体指定图标,它将会出现在窗体的左上角,当窗体最小化后,在Windows工具栏中会以此图标代表该窗体。TopMost:设置窗体在所有窗口的最上层,不能被其他窗口覆盖。Cursor: 获取或设置当鼠标指针位于控件上时显示的光标。该属性值是Curosors类的一个成员,该类提供由 Windows 窗体应用程序使用的 Cursor 对象的集合。例:button1.Cursor=Cursors.Hand(手状)Owner:获取或设置拥有此窗体的窗体,类似于模式显示窗体,在子窗体关闭之前,不能访问父窗体。Controls:获取当前窗体中包含的控件集合。IsMdiChild:获取一个值,该值指示窗体是否为多文档界面 (MDI) 子窗体。7.2.2 常用方法1、Show():显示窗体。2、Hide():隐藏窗体。3、Refresh():刷新窗体。4、Activate():激活窗体,并给予焦点。5、Close():关闭窗体。6、ShowDialog():以模式方式显示窗体。7.2.3 常用事件1、Load事件:在窗体加载时发生。2、Activated:在窗体激活时发生。3、Deactivated:在窗体推动焦点时发生。4、Resize:在窗体大小被改变时发生。5、Click:在单击窗体时发生。6、FormClosed:在窗体被关闭时发生。7.2.4 创建窗体添加窗体可以使用菜单完成,也可以使用代码实现。1、 菜单添加窗体演示2、 代码添加窗体,如:public void CreateMyForm()Form form2 = new Form();Button button1 = new Button ();Button button2 = new Button (); button1.Text = OK;button1.Location = new Point (10, 10);button2.Text = Cancel;button2.Location= new Point (button1.Left, button1.Height + button1.Top + 10);form2.Text = My Dialog Box;form2.FormBorderStyle = FormBorderStyle.FixedDialog;form2.MaximizeBox = false;form2.MinimizeBox = false;form2.AcceptButton = button1;form2.CancelButton = button2;form2.StartPosition = FormStartPosition.CenterScreen; form2.Controls.Add(button1);form2.Controls.Add(button2); form2.ShowDialog();注:FormBorderStyle是一枚举,只能由Form类使用。FormStartPosition是一枚举,用于指定窗体的起始位置。7.2.5 显示窗体一般地,主窗体通过Application类Run方法启动,若要启动其他窗体,则可以通过创建对象来启动。如添加一个Form2窗体,要在Form1中调用该窗体,可如下实现:Form2 form2=new Form2();Form2.show();窗体的显示方式有两种:1、模式方式:该方式不允许用户在关闭该窗体之前和应用程序的其他窗体进行切换,以模式方法显示窗体的方法是Showdialog()。2、非模式方式:该方式允许用户在关闭该窗体之前和应用程序的其他窗体进行随意切换,以非模式方法显示窗体的方法是Show()。7.2.6 设置启动项目若一个解决方案中包含多个项目,则要以自定义启动项目,方法如下:方法一:右键单击欲定义为启动项目的项目,选择“设为启动项目”。方法二:右键单击解决方案,选择“属性”,选择“通用属性/启动项目”,可设置单项目启动和多项目启动。7.2.7 设置项目的启动窗体通过修改相应项目的program.cs代码实现。7.3 控件控件是包含在窗体上的对象,是构成用户界面的基本元素,也是可视化编程的重要工具。.net中的控件都派生于System.Windows.Forms.Control类,这个类定义了控件的基本功能,因此很多控件都有许多相同的属性和事件。.NET提供了三种不同类型的控件库:(1) System.Windows.Forms.Control:创建Windows应用程序。(2) System.Web.UI.Control:创建Web应用程序。(3) System.Web.UIMobilecontrols:为手持设备和小型设备服务。7.3.1 向窗体中添加控件若在设计状态下可直接从工具箱中选取所需控件添加到窗体中即可。若在运行状态下动态添加控件可如下进行:(1) 创建某控件类的一实例。(2) 对该实例进行设置。(3) 通过“控件名.parent”属性指定其所属窗体,或使用Controls类的Add方法添加到窗体中即可。例:当单击按钮时,为该按钮添加一个文本框控件。TextBox txt=new TextBox();txt.Text=这是手动添加的控件;txt.Location=new Point(40,60);txt.Size=new Size(150,20);this.Controls.Add(txt);7.3.2 控件的基本属性改变控件的外观和行为。各种控件的属性各不相同,但对于大多数控件,有一些公共属性,这些公共属性如下:属性名称描述Anchor锚定控件。使用这个属性,可以指定当控件的容器大小发生变化时,该控件如何响应,即设置控件的哪些边缘锚定到其容器边缘。BackColor设置控件的背景色Dock获取或设置控件停靠到父容器的哪一个边缘Enabled获取或设置一个值,该值指示控件是否可以对用户交互作出响应。Font获取或设置控件显示的文字的字体。ForeColor设置控件的前景色Height获取或设置控件的高度。Left获取或设置控件的左边缘的 x 坐标(以像素为单位)。Location是一个Point对象,获取或设置该控件的左上角相对于其容器的左上角的坐标。Nmae获取或设置控件的名称。Parent获取或设置父窗体。Right获取控件的右边缘与其容器的左边缘之间的距离。TabIndex控件中容器中的标签顺序号TabStop获取或设置一个值,该值指示用户能否使用 TAB 键将焦点放到该控件上Tag这个值通常不由控件本身使用,而是由用户存储该控件的相关信息Top获取或设置控件的上边缘的 y 坐标(以像素为单位)。Visible获取或设置一个值,指定控件是否在运行时可见Width获取或设置控件的宽度注意:有关字体的设置涉及到两个类:FontFamily和Font类。这两个类都来自于System.Drawing命名空间。1、FontFamily类:字体族,定义与提供不同字体的字样。例:将本机的所有字体名称显示在列表框中。foreach(FontFamily ff in FontFamily.Families)listBox1.Items.Add(ff.Name);2、Font类:对字体进行设置或获取,Font对象在建立之后不能被修改,只能创建新的Font对象。其常用构造函数为:System.Drawing.Font(字体,字号,字形)字体:该系统安装的所有字体字号:单位为磅字型:为FontStyle枚举类型,可以为下几种:成员名称说明值Bold 加粗文本。1Italic 倾斜文本。2Regular 普通文本。0Strikeout 中间有直线通过的文本。8Underline 带下划线的文本。4在字形设置时,可用间隔,或用值代替。如:this.textBox1.Font = new System.Drawing.Font(楷体_GB2312,28, ystem.Drawing.FontStyle.Bold|System.Drawing.FontStyle.Italic);或:this.textBox1.Font = new System.Drawing.Font(楷体_GB2312,28,(System.Drawing.FontStyle)3);7.3.3 控件的事件和方法 方法下表列出了常用的公有方法:Select 激活控件Refresh 强制控件使其工作区无效并立即重绘自己和任何子控件Hide 对用户隐藏控件,等效于将Visible属性设置为trueShow 显示控件,等效于将Visible属性设置为falseToString 返回表示当前 Object 的 String方法调用格式:控件名.方法名(参数) 事件添加事件时,应该注意,如果是默认事件,只需在控件属性窗口中双击该事件,系统会自动在InitializeComponent()方法中为其注册,若是用户自定义事件,则要手工进行注册,并书写事件处理程序,且自定义事件注册时,多在类的构造函数中进行事件注册。常用的共用事件如下:事件分类事件名称说明鼠标事件Click在单击控件时发生。DoubleClick在双击控件时发生。MouseDown当鼠标指针位于控件上并按下鼠标键时发生。 MouseEnter在鼠标指针进入控件时发生。MouseHover在鼠标指针悬停在控件上时发生。MouseLeave在鼠标指针离开控件时发生。MouseMove在鼠标指针移到控件上时发生。MouseUp在鼠标指针在控件上并释放鼠标键时发生。MouseWheel在移动鼠标轮并且控件有焦点时发生。键盘事件KeyDown在控件有焦点的情况下按下键时发生,优先于KeyPress事件KeyPress在控件有焦点的情况下按下键时发生。优先于KeyUp事件KeyUp在控件有焦点的情况下释放键时发生。其它事件DockChanged当Dock属性的值更改时发生。Resize在调整控件大小时发生。GotFocus在控件接收焦点时发生。LostFocus当控件失去焦点时发生。TextChangedText属性值更改时发生。VisibleChangedVisible属性值更改时发生。TextChangedText属性值更改时发生。Validated在控件完成有效性验证时发生,必须将CausesValidation属性设为真Validating在控件正在有效性验证时发生,必须将CausesValidation属性设为真,注意验证是在控件失去焦点时发生,而不是在获取焦点时发生。.1 事件举例例1:MouseHover事件:private void button1_MouseHover(object sender, System.EventArgs e)ToolTip toolTip1 = new ToolTip();/表示一个长方形的弹出式小窗口,该窗口在鼠标悬停在一个控件上时显示有关该控件用途的简短说明。toolTip1.AutoPopDelay = 3000; /提示信息在控件上显示的延长时间toolTip1.InitialDelay = 100; /获取或设置工具提示显示之前经过的时间toolTip1.ReshowDelay = 100; /获取或设置鼠标指针从一个控件移到另一控件时,后面的“工具提示”窗口出现前必须经过多长时间。toolTip1.ShowAlways = true; /获取或设置一个值,该值指示“工具提示”窗口在其父控件不活动时是否显示。toolTip1.SetToolTip(this.button1, 我的按钮);例2:对一文本框进行有效性验证,要求数据不能为空,且在0100之间。private void textBox1_Validating(object sender, System.ComponentModel.CancelEventArgs e)if(textBox1.Text.Length=0)textBox1.BackColor=Color.Red;MessageBox.Show(数据不能为空!);textBox1.Select();elseif(Convert.ToDouble(textBox1.Text)100) textBox1.BackColor=Color.Red; MessageBox.Show(数据必须在0100之间!); textBox1.Select(); else textBox1.BackColor=System.Drawing.SystemColors.Window;例3:MouseMove控件:创建一个窗体,在窗体中放置一个按钮,当鼠标移至距按钮10个象素点的时候,按钮便迅速移走。private void Form1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)int border = 10;int x = e.X;int y = e.Y;int left = btn_catchMe.Left;int right = btn_catchMe.Right;int top = btn_catchMe.Top;int bottom = btn_catchMe.Bottom;/* 鼠标到按钮附近(20个象素) */if( x left - border & x top - border & y top ? -20 : 20);if(btn_catchMe.Top Form1.ActiveForm.Size.Height | btn_catchMe.Bottom left ? -20 : 20);if(btn_catchMe.Left Form1.ActiveForm.Size.Width | btn_catchMe.Right 0)btn_catchMe.Left = Form1.ActiveForm.Size.Width/2;.2 鼠标及键盘事件的相关参数对一个事件,系统提供了相应的委托及参数。1、对MouseDown、MouseUp、MouseMove鼠标事件,系统提供了MouseEventHandler,该委托取MouseEventArgs作为第二个参数,以提供更多的鼠标状态信息。有两个比较重要的成员:Button 获取曾按下的是哪个鼠标按钮,其值是一个MouseButtons 枚举:Left、Right、Middle、None。X、Y 获取鼠标的 X、Y 坐标。2、对KeyUp、KeyDown键盘事件,系统提供了KeyEventHandler,该委托取KeyEventArgs作第二参数,以提供更多的按键信息。其部分成员如下:Alt 获取一个值,该值指示是否曾按下 ALT 键。Control 获取一个值,该值指示是否曾按下 CTRL 键。KeyCode 获取 KeyDown 或 KeyUp 事件的键盘代码。KeyData 获取 KeyDown 或 KeyUp 事件的键数据。KeyValue 获取 KeyDown 或 KeyUp 事件的键盘值。Modifiers 获取 KeyDown 或 KeyUp 事件的修饰符标志。这指示曾按下哪一个修饰符键(CTRL、SHIFT 和 ALT)的组合。Shift 获取一个值,该值指示是否曾按下 SHIFT 键。3、对KeyPress键盘事件:系统提供了KeyPressEventHandler,该委托取KeyPressEventArgs作第二参数,该参数类的主要成员有:KeyPress:获取与按下的键对应的字符。在使用键盘事件时应注意以下几点:(1)KeyPress事件一般只接收基本字符,而KeyUp、KeyDown事件还可接收控制键和功能键等。(2)对接收按键的键值情况可参见Keys枚举。(3)接收复合键时,可用KeyCode键测试按下的普通键,用Modifiers属性或Alt、Ctrl、Shift属性测试是否按下了Alt、Ctrl或Shift键或共组合。(4)因键盘事件只对有焦点的控件有效,但有时希望窗体能接收这些输入,这时要将窗体的KeyPreview属性设置为True。例1: F1键的帮助功能及复合按键示例。注意:在2005中,当一个控件对象被选中时,在其左上角有一个黑三角的指示按钮,通过它可以对此控件进行相应的设置。7.4 命令按钮控件Button7.4.1 命令按钮的用途当用户点击button时,触发相应的事件,执行预先定义好的命令代码,完成一定的功能。7.4.2 常用属性1、Text属性:获取或设置按钮上的文本。可以使用&设置快捷键,当此按钮获取焦点时,可用此快捷键触发该按钮的Click事件。2、FlatStyle属性:设置按钮的外观,有四种外观可选:Flat,Popup,System,Standard(默认)。3、Image属性:设置按钮上的图片。4、ImageAlign属性:设置图片在按钮上的位置。7.4.3 按钮的常用事件如果按钮具有焦点,可以通过使用鼠标左键、Enter键或Space键触发按钮的Click事件。通过设置窗体的AcceptButton或CancelButton属性,无论按钮是否有焦点,都可以通过Enter或ESC键触发按钮的Click事件。例:试编写一段代码,输入两个数,可用按钮选择执行+、-、*、/四种运算。运行界面如下:若要考虑数据有效性而进行异常处理,问程序应该怎么修改?7.5 标签控件Lable7.5.1 标签的用途主要用于显示提示信息参与窗体的Tab键次序,但不接受焦点。可以显示图片。可以设置为透明:将BackColor属性设置为:Color.Transparent。7.5.2 标签的常用属性1、Text属性:2、Autosize属性:默认值为false3、BorderStyle属性:设置标签边框的形式。取值有:Fixed3D:三维边框;FixedSingle:单行边框;None:无边框。7.5.3 标签相应的事件常用事件有Click、DoubleClick等事件。7.6 文本框控件TextBox7.6.1 用途主要用于显示文本信息或接受用户的输入。7.6.2 属性CanFocus获取一个值,该值指示控件是否可以接收焦点。CharacterCasing获取或设置 TextBox 控件是否在字符键入时修改其大小写格式。Lines获取或设置文本框控件中的文本行。MaxLength 获取或设置用户可在文本框控件中键入或粘贴的最大字符数。Multiline 获取或设置一个值,该值指示它是否为多行文本框控件。PasswordChar 获取或设置字符,该字符用于屏蔽单行 TextBox 控件中的密码字符。ScrollBars 获取或设置哪些滚动条应出现在多行 TextBox 控件中。SelectedText 获取或设置一个值,该值指示控件中当前选定的文本。SelectionLength 获取或设置文本框中选定文本的长度SelectionStart 获取或设置文本框中选定的文本起始点。WordWrap 指示多行文本框控件在必要时是否自动换行到下一行的开始。AutoCompleteModeSuggest:以列表框的提示形式给用户选择。Append:当用户输入时,系统自动根据以往的记录,提示用户输入。SuggestAppend:结合以上两种形式AutoCompleteSourceFileSystem:最近录入过文件的路径 HistoryList IE:的历史记录 RecentlyUsedList:开始菜单里用户最近用过的文档 AllUrl:所有最近访问过链接 AllSystemSources:所有的文件和访问过的链接CustomSources:用户自定义的数据提示来源。ListItems:提示数据来自其他控件,如Combox等。AutoCompleteCustomSource当AutoCompleteSource属性设置为CustomSources时,要使用的StringCollection。7.6.3 公共方法AppendText向文本框的当前文本追加文本。Clear从文本框控件中清除所有文本。Copy将文本框中的当前选定内容复制到剪贴板。Cut将文本框中的当前选定内容移动到剪贴板中。Paste用剪贴板的内容替换文本框中的当前选定内容。Select 选择控件中的文本。SelectAll 选定文本框中的所有文本。Undo撤消文本框中的上一个编辑操作。例:制作简单的具有复制、剪切、粘贴、清除、全选、撤消功能的文本编辑器。7.6.4 事件1、TextChanged:当文本框中的内容发生变化时触发该事件。每向文本框中输入一个字符都回触发一次这个事件。例:当向一个文本框中输入字符时,第二个文本框中的内容也跟着变化同样的内容。7.7 MaskedTextBox7.7.1 用途使用掩码区分正确和不正确的用户输入。7.7.2 属性AllowPromptAsInput 获取或设置一个值,该值指示 PromptChar 是否可以作为有效数据由用户输入。 BeepOnError 获取或设置一个值,该值指示掩码文本框控件是否每当用户键入了它拒绝的字符时都发出系统警告声。HidePromptOnLeave 获取或设置一个值,该值指示当掩码文本框失去焦点时,输入掩码中的提示字符是否隐藏。Mask 获取或设置运行时使用的输入掩码。 PromptChar 获取或设置用于表示 MaskedTextBox 中缺少用户输入的字符。InsertKeyMode获取或设置掩码文本框控件的文本插入模式。Insert;插入OverWrite:覆盖掩码元素说明0数字,必选。此元素将接受 0 到 9 之间的任何一个数字。9数字或空间,可选。 #数字或空间,可选。如果掩码中该位置为空白,在 Text 属性中将把它呈现为一个空格。允许使用加号 (+) 和减号 (-)。L字母,必选。将输入限定为 ASCII 字母 a-z 和 A-Z。此掩码元素等效于正则表达式中的 a-zA-Z。 ?字母,可选。输入限定为 ASCII 字母 a-z 和 A-Z。此掩码元素等效于正则表达式中的 a-zA-Z?。 &字符,必选。如果 AsciiOnly 属性设置为 true,此元素的行为将与“L”元素类似。 C字符,可选。任何非控制字符。如果 AsciiOnly 属性设置为 true,此元素的行为将类似于“?”元素。A字母数字,可选。如果将 AsciiOnly 属性设置为 true,则它接受的唯一字符是 ASCII 字母 a-z 和 A-Z。a字母数字,可选。如果将 AsciiOnly 属性设置为 true,则它接受的唯一字符是 ASCII 字母 a-z 和 A-Z。.小数点占位符。使用的实际显示字符将是适合于格式提供程序的小数点符号,格式提供程序由控件的 FormatProvider 属性决定。,千分位占位符。使用的实际显示字符将是相应于格式提供程序的千分位占位符,格式提供程序由控件的 FormatProvider 属性决定。:时间分隔符。使用的实际显示字符将是适合于格式提供程序的时间符号,格式提供程序由控件的 FormatProvider 属性决定。/日期分隔符。使用的实际显示字符将是适合于格式提供程序的日期符号,格式提供程序由控件的 FormatProvider 属性决定。$货币符号。显示的实际字符将是相应于格式提供程序的货币符号,格式提供程序由控件的 FormatProvider 属性决定。 转换为大写。将后续所有字符都转换为大写。|禁用前一个大写转换或小写转换。转义。对掩码字符进行转义,将其转变为原义字符。“”是反斜杠的转义序列。 其他所有字符原义字符。所有非掩码元素都将原样出现在 MaskedTextBox 中。原义字符在运行时始终占据掩码中的一个固定位置,用户不能移动或删除该字符。7.7.3 事件MaskInputRejected:当用户的输入或者分配的字符与输入掩码的对应格式元素不匹配时发生。7.8 RichTextBox控件RichTextBox控件比文本框控件具有更强的功能,它不仅可以对选定文本进行格式化,如字体设置、设置左右边距、设置文本的对齐方式等,还具有字符串的检索功能,具有打开文件、保存文件的功能等。7.9 单选按钮RadioButton7.9.1 用途用于单项选择7.9.2 属性1、Text:提示性文本。2、Checked:表示按钮是否被选中。选中时,Checked为true,否则为false。3、Appearance:设置单选按钮的外观。7.9.3 事件1、Click事件。用鼠标单击时改变其Checked属性为true。2、CheckedChanged事件:当Checked属性改变时,触发CheckedChanged事件如:对性别的选择,单项选择题等7.10 复选框CheckBox7.10.1 用途用于多项选择。7.10.2 属性1、Checked:表示按钮是否被选中。选中时,Checked为true,否则为false。2、CheckState:获取或设置复选框的状态。其状态有三种:Checked:复选框显示一个选中标记;Unchecked:复选框为空;Indeterminate:复选框显示一个选中标记并变灰。3、Text:用于显示提示信息。7.10.3 事件1、Click事件2、CheckedChanged事件:最常用的事件。例:设置文本的字型,界面如下:主要代码如下:private void checkBox1_CheckedChanged(object sender, System.EventArgs e)FontStyle s=this.setfontstyle();textBox1.Font=new Font(textBox1.Font.Name,textBox1.Font.Size,s);private void checkBox2_CheckedChanged(object sender, System.EventArgs e)FontStyle s=this.setfontstyle();textBox1.Font=new Font(textBox1.Font.Name,textBox1.Font.Size,s);private void checkBox3_CheckedChanged(object sender, System.EventArgs e)FontStyle s=this.setfontstyle();textBox1.Font=new Font(textBox1.Font.Name,textBox1.Font.Size,s);private void checkBox4_CheckedChanged(object sender, System.EventArgs e)FontStyle s=this.setfontstyle();textBox1.Font=new Font(textBox1.Font.Name,textBox1.Font.Size,s);private FontStyle setfontstyle()int s=0;if (checkBox1.Checked=true) s=s+1;if (checkBox2.Checked=true) s=s+2;if (checkBox3.Checked=true) s=s+4;if (checkBox4.Checked=true) s=s+8;return (FontStyle)s;注意:设置粗体的代码也可如下实现,其他同:private void checkBox1_CheckedChanged(object sender, System.EventArgs e)if(textBox1.Font.Bold=true)textBox1.Font=new Font(textBox1.Font,textBox1.Font.Style & FontStyle.Bold);else textBox1.Font=new Font(textBox1.Font,textBox1.Font.Style | FontStyle.Bold);7.11 组框控件Panel和GroupBox这两个控件的最主要的用途是对表单上的控件进行分组。(举例说明其用处)。用好这两个控件能大大改善程序代码的质量,提高代码的可维护性。其主要代码如下:private void radioButton1_CheckedChanged(object sender, System.EventArgs e)Font oldfont=textBox1.Font;textBox1.Font=new Font(隶书,oldfont.Size);private void radioButton2_CheckedChanged(object sender, System.EventArgs e)Font oldfont=textBox1.Font;textBox1.Font=new Font(华文行楷,oldfont.Size);private void radioButton3_CheckedChanged(object sender, System.EventArgs e)Font oldfo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/PAS 15118-202:2025 EN Road vehicles - Vehicle to grid communication interface - Part 202: Extensible SECC Discovery Protocol and Event Notification Protocol
- 计算机三级题库检测试题打印【必刷】附答案详解
- OT网络安全解决方案市场分析:预计2031年全球市场规模将为 206.5亿美元
- 辽宁省凌源市中考数学试题(预热题)附答案详解
- 2024-2025学年护士资格证考前冲刺练习【轻巧夺冠】附答案详解
- 2025安庆师范大学单招《英语》每日一练试卷附完整答案详解【历年真题】
- 交房物业收合同(标准版)
- 墓地占用土地合同(标准版)
- 2025执法资格能力检测试卷含完整答案详解【易错题】
- 养老院医疗应急预案(30篇)
- 室内墙体拆除合同全文
- 2025年中国移动初级解决方案经理学习考试题库大全-上(单选题)
- 江苏苏州历年中考语文现代文之散文阅读13篇(截至2024年)
- 临床用血管理制度课件
- 体育行业反兴奋剂管理制度
- 护理管理的发展史
- 《以产地命名中药》课件
- 广西恒镒矿业贸易有限公司广西苍梧县古木口矿区金矿矿山地质环境保护与土地复垦方案
- 有限元模拟与磨损寿命预测结合-洞察分析
- 配音课件资源教学课件
- 191118-锂离子电池专业术语英语对照大全
评论
0/150
提交评论