简介摘要: 1、窗体 1、常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗 体。 (2) WindowState属性: 用来获取或设置窗体的窗口状态。 取值有三种: Normal (窗体正常显示)、 Minimized (窗体以最小化形式显示) 1、窗体[chuang ti] 1、常用属性[shu xing] (1)Name属性[shu xing]:用来获取或设置[she zhi]窗体[chuang ti]的名称,在应用[ying yong]程序[ying yong cheng xu]中可通过Name属性[shu xing]来引用[yin yong]窗体。 (2) WindowState属性[shu xing]: 用来获取或设置[she zhi]窗体[chuang ti]的窗口[chuang kou]状态[zhuang tai]。 取值有三种: Normal (窗体[chuang ti]正常显示[xian shi])、 Minimized (窗体[chuang ti]以最小化形式显示[xian shi])和 Maximized(窗体[chuang ti]以最大化形式显示[xian shi])。 (3)StartPosition属性:用来获取或设置[she zhi]运行[yun hang]时[yun hang shi]窗体[chuang ti]的起始位置[wei zhi]。 (4)Text属性[shu xing]:该属性[shu xing]是一个字符[zi fu]串[zi fu chuan]属性[shu xing],用来设置[she zhi]或返回在窗口[chuang kou]标题栏中显示[xian shi]的文字[wen zi]。 (5)Width 属性[shu xing]:用来获取或设置[she zhi]窗体[chuang ti]的宽度。 (6)Height属性[shu xing]:用来获取或设置[she zhi]窗体[chuang ti]的高度。 (7)Left属性[shu xing]:用来获取或设置[she zhi]窗体[chuang ti]的左边缘[bian yuan]的x坐标(以像素[xiang su]为单位[dan wei])。 (8)Top属性[shu xing]:用来获取或设置[she zhi]窗体[chuang ti]的上边缘[bian yuan]的y坐标(以像素[xiang su]为单位[dan wei])。 (9)ControlBox 属性[shu xing]:用来获取或设置[she zhi]一个值,该值指示[zhi shi]在该窗体[chuang ti]的标题栏中是否显示[xian shi]控制[kong zhi]框。值为true 时将显示[xian shi]控制[kong zhi]框,值为false时不显示[xian shi]控制[kong zhi]框。 (10)MaximizeBox 属性[shu xing]:用来获取或设置[she zhi]一个值,该值指示[zhi shi]是否在窗体[chuang ti]的标题栏中显示[xian shi]最大化按钮。值 为 true时显示[xian shi]最大化按钮,值为false时不显示[xian shi]最大化按钮。 (11)MinimizeBox 属性[shu xing]:用来获取或设置[she zhi]一个值,该值指示[zhi shi]是否在窗体[chuang ti]的标题栏中显示[xian shi]最小化按钮。值 为 true时显示[xian shi]最小化按钮,值为false时不显示[xian shi]最小化按钮。 (12)AcceptButton 属性[shu xing]:该属性[shu xing]用来获取或设置[she zhi]一个值,该值是一个按钮的名称,当按 Enter 键时就相 当于单击[dan ji]了窗体[chuang ti]上的该按钮。 (13)CancelButton 属性[shu xing]:该属性[shu xing]用来获取或设置[she zhi]一个值,该值是一个按钮的名称,当按 Esc 键时就相当 于单击[dan ji]了窗体[chuang ti]上的该按钮。 (14)Modal 属性[shu xing]:该属性[shu xing]用来设置[she zhi]窗体[chuang ti]是否为有模式[mo shi]显示[xian shi]窗体[chuang ti]。如果有模式[mo shi]地显示[xian shi]该窗体[chuang ti],该属性[shu xing]值为 true;否则为 false。当有模式[mo shi]地显示[xian shi]窗体[chuang ti]时,只能对模式[mo shi]窗体[chuang ti]上的对象[dui xiang]进行输入[shu ru]。必须隐藏或关闭模式[mo shi]窗 体(通常是响应[xiang ying]某个用户[yong hu]操作),然后才能对另一窗体[chuang ti]进行输入[shu ru]。有模式[mo shi]显示[xian shi]的窗体[chuang ti]通常用做应用[ying yong]程序[ying yong cheng xu]中 的对话框[dui hua kuang]。 (15)ActiveControl属性[shu xing]:用来获取或设置[she zhi]容器控件[rong qi kong jian]中的活动控件。窗体[chuang ti]也是一种容器控件[rong qi kong jian]。 (16)ActiveMdiChild属性[shu xing]:用来获取多文档[wen dang]界面[jie mian](MDI)的当前活动子窗口[chuang kou][zi chuang kou]。 (17)AutoScroll 属性[shu xing]:用来获取或设置[she zhi]一个值,该值指示[zhi shi]窗体[chuang ti]是否实现自动滚动。如果此属性[shu xing]值设置[she zhi]为 true,则当任何控件位于窗体[chuang ti]工作区[gong zuo qu]之外时,会在该窗体[chuang ti]上显示滚动条[gun dong tiao]。另外,当自动滚动打开时,窗体[chuang ti] 的工作区[gong zuo qu]自动滚动,以使具有输入[shu ru]焦点的控件可见。 (18)BackColor属性[shu xing]:用来获取或设置[she zhi]窗体[chuang ti]的背景色[bei jing se]。 (19)BackgroundImage属性[shu xing]:用来获取或设置[she zhi]窗体[chuang ti]的背景图像[tu xiang]。 (20)Enabled 属性[shu xing]:用来获取或设置[she zhi]一个值,该值指示[zhi shi]控件是否可以对用户[yong hu]交互[jiao hu]作出响应[xiang ying]。如果控件可 以对用户[yong hu]交互[jiao hu]作出响应[xiang ying],则为 true;否则为false。默认[mo ren]值为true。 (21)Font属性[shu xing]:用来获取或设置[she zhi]控件显示[xian shi]的文本[wen ben]的字体[zi ti]。 (22)ForeColor 属性[shu xing]:用来获取或设置[she zhi]控件的前景色[qian jing se]。 (23)IsMdiChild属性[shu xing]:获取一个值,该值指示[zhi shi]该窗体[chuang ti]是否为多文档[wen dang]界面[jie mian](MDI)子窗体[chuang ti]。值为 true时, 是子窗体[chuang ti],值为false时,不是子窗体[chuang ti]。 (24)IsMdiContainer 属性[shu xing]:获取或设置[she zhi]一个值,该值指示[zhi shi]窗体[chuang ti]是否为多文档[wen dang]界面[jie mian](MDI)中的子窗体[chuang ti]的 容器。值为true时,是子窗体[chuang ti]的容器,值为false时,不是子窗体[chuang ti]的容器。 (25)KeyPreview属性[shu xing]:用来获取或设置[she zhi]一个值,该值指示[zhi shi]在将按键事件[shi jian]传递到具有焦点的控件前,窗体[chuang ti] 是否将接收该事件[shi jian]。值为true时,窗体[chuang ti]将接收按键事件[shi jian],值为false时,窗体[chuang ti]不接收按键事件[shi jian]。 (26)MdiChildren属性[shu xing]:数组[shu zu]属性[shu xing]。数组[shu zu]中的每个元素表示以此窗体[chuang ti]作为父级的多文档[wen dang]界面[jie mian](MDI)子窗 体。 (27)MdiParent属性[shu xing]:用来获取或设置[she zhi]此窗体[chuang ti]的当前多文档[wen dang]界面(MDI)父窗体[chuang ti]。 (28)ShowInTaskbar属性[shu xing]:用来获取或设置[she zhi]一个值,该值指示[zhi shi]是否在Windows任务[ren wu]栏中显示[xian shi]窗体[chuang ti]。 (29)Visible 属性[shu xing]:用于[yong yu]获取或设置[she zhi]一个值,该值指示[zhi shi]是否显示[xian shi]该窗体[chuang ti]或控件。值为true 时显示[xian shi]窗体[chuang ti]或控件,为 false时不显示[xian shi]。 (30)Capture 属性[shu xing]:如果该属性[shu xing]值为true,则鼠标[shu biao]就会被限定只由此控件响应[xiang ying],不管鼠标[shu biao]是否在此控件的 范围[fan wei]内。 2、常用方法[fang fa] 下面介绍一些窗体[chuang ti]的最常用方法[fang fa]。 (1)Show方法[fang fa]:该方法[fang fa]的作用[zuo yong]是让窗体[chuang ti]显示[xian shi]出来,其调用[tiao yong]格式为: 窗体[chuang ti]名.Show(); 其中窗体[chuang ti]名是要显示[xian shi]的窗体[chuang ti]名称。 (2)Hide方法[fang fa]:该方法[fang fa]的作用[zuo yong]是把窗体[chuang ti]隐藏出来,其调用[tiao yong]格式为: 窗体[chuang ti]名.Hide(); 其中窗体[chuang ti] 名是要隐藏的窗体[chuang ti]名称。 (3)Refresh方法[fang fa]:该方法[fang fa]的作用[zuo yong]是刷新[shua xin]并重画窗体[chuang ti],其调用[tiao yong]格式为: 窗体[chuang ti]名.Refresh(); 其中窗体[chuang ti]名是要刷新[shua xin]的窗体[chuang ti]名称。 (4)Activate方法[fang fa]:该方法[fang fa]的作用[zuo yong]是激活[ji huo]窗体[chuang ti]并给予它焦点。其调用[tiao yong]格式为: 窗体[chuang ti] 名.Activate(); 其中窗体[chuang ti]名是要激活[ji huo]的窗体[chuang ti]名称。 (5)Close方法[fang fa]:该方法[fang fa]的作用[zuo yong]是关闭窗体[chuang ti]。其调用[tiao yong]格式为: 窗体名.Close(); 其中窗体[chuang ti]名是要关闭的窗体[chuang ti]名称。 (6)ShowDialog方法[fang fa]:该方法[fang fa]的作用[zuo yong]是将窗体[chuang ti]显示[xian shi]为模式[mo shi]对话框[dui hua kuang]。其调用[tiao yong]格式为: 窗体[chuang ti]名.ShowDialog(); 3.常用事件[shi jian] (1)Load事件[shi jian]:该事件[shi jian]在窗体[chuang ti]加载到内存[nei cun]时发生,即在第一次显示[xian shi]窗体[chuang ti]前发生。 (2)Activated事件[shi jian]:该事件[shi jian]在窗体[chuang ti]激活[ji huo]时发生。 (3)Deactivate事件[shi jian]:该事件[shi jian]在窗体[chuang ti]失去焦点成为不活动窗体[chuang ti]时发生。 (4)Resize事件[shi jian]:该事件[shi jian]在改变窗体[chuang ti]大小时发生。 (5)Paint事件[shi jian]:该事件[shi jian]在重绘窗体[chuang ti]时发生。 (6)Click 事件[shi jian]:该事件[shi jian]在用户[yong hu]单击[dan ji]窗体[chuang ti]时发生。 (7)DoubleClick事件[shi jian]:该事件[shi jian]在用户[yong hu]双击[shuang ji]窗体[chuang ti]时发生。 (8)Closed事件:该事件[shi jian]在关闭窗体[chuang ti]时发生。 文本[wen ben]框类控件 2、Label 控件 1、常用属性[shu xing]: (1)Text 属性[shu xing]:用来设置[she zhi]或返回标签控件中显示[xian shi]的文本[wen ben]信息[xin xi]。 (2)AutoSize 属性[shu xing]:用来获取或设置[she zhi]一个值,该值指示[zhi shi]是否自动调整[tiao zheng]控件的大小以完整显示[xian shi]其内容。取 值为 true时,控件将自动调整[tiao zheng]到刚好能容纳文本[wen ben]时的大小,取值为false时,控件的大小为设计时的大小。 默认[mo ren]值为false。 (3)Anchor 属性[shu xing]:用来确定此控件与其容器控件[rong qi kong jian]的固定关系的。所谓容器控件[rong qi kong jian]指的是这样一种情况[qing kuang]:往 往在控件之中还有一个控件,例如最典型的就是窗体[chuang ti]控件中会包含很多的控件,像标签控件、文本[wen ben]框等。 这时称包含控件的控件为容器控件[rong qi kong jian]或父控件,而父控件称为子控件。这时将遇到一个问题[wen ti],即子控件与父 控件的位置[wei zhi]关系问题[wen ti],即当父控件的位置[wei zhi]、大小变化时,子控件按照 什么样的原则改变其位置[wei zhi]、大小。Anchor属性[shu xing]就规定了这个原则。 对于 Anchor 属性[shu xing],可以设定 Top、Bottom、Right、Left 中的任意几 种,设置[she zhi]的方法[fang fa]是在属性[shu xing]窗口[chuang kou]中单击[dan ji]Anchor属性[shu xing]右边的箭头,将会 出现如图 9-6 的窗口[chuang kou],通过它可设置[she zhi] Anchor 属性[shu xing]值。图 9-6 中选中 变黑的方位即为设定的方位控制[kong zhi],即图中所示的为 Left、Right、 Bottom。此时,如果父窗口[chuang kou]变化,子窗口[chuang kou][zi chuang kou]将保证其左边缘[bian yuan]与容器左边 的距离、上边缘[bian yuan]与容器上边的距离、底边与容器底边的距离等不变, 效果如图9-7 所示。 可见随着窗体[chuang ti]的大小变 化, Label控件也会随着 变 。 而 不 变 的 则 是 Archor中所规定的边 缘与相应的父控件边缘[bian yuan] 的距离。 (4)BackColor属性[shu xing]: 用来获取或设置[she zhi]控件的背景色[bei jing se]。当该属性[shu xing]值设置[she zhi]为 Color.Transparent 时,标签将透明[tou ming]显示[xian shi],即背景色[bei jing se]不再 显示[xian shi]出来。 (5)BorderStyle 属性[shu xing]:用来设置[she zhi]或返回边[hui bian]框。有三种选择[xuan ze]: BorderStyle.None 为无边框[bian kuang](默认[mo ren]),BorderStyle.FixedSingle 为固 定单边框[bian kuang],BorderStyle.Fixed3D 为三维边框[bian kuang]。 (6)TabIndex 属性[shu xing]:用来设置[she zhi]或返回对象[dui xiang]的Tab键顺序。 (7)Enabled 属性[shu xing]:用来设置[she zhi]或返回控件的状态[zhuang tai]。值为 true 时允 许使用控件,值为 false 时禁止使用控件,此时标签呈暗淡色,一 般在代码[dai ma]中设置[she zhi]。图9-8 边框[bian kuang]效果图 另外,标签还具有Visible、 ForeColor、Font等属性[shu xing],具体含义请参考[can kao]窗体[chuang ti]的相应属性[shu xing]。 3、TextBox 控件 1、主要属性[shu xing]: (1)Text 属性[shu xing]:Text属性[shu xing]是文本[wen ben]框最重要的属性[shu xing],因为要显示[xian shi]的文本[wen ben]就包含在Text属性[shu xing]中。默认[mo ren]情况[qing kuang]下, 最多可在一个文本[wen ben]框中输入[shu ru]2048个字符[zi fu]。如果将MultiLine属性[shu xing]设置[she zhi]为true,则最多可输入[shu ru]32KB 的文本[wen ben]。 Text属性[shu xing]可以在设计时使用【属性[shu xing]】窗口[chuang kou]设置[she zhi],也可以在运行[yun hang]时[yun hang shi]用代码[dai ma] 设置[she zhi]或者通过用户[yong hu]输入[shu ru]来设置[she zhi]。可 以在运行[yun hang]时[yun hang shi]通过读取[du qu]Text属性[shu xing]来获得文本[wen ben]框的当前内容。 (2)MaxLength 属性[shu xing]:用来设置[she zhi]文本[wen ben]框允许输入[shu ru]字符[zi fu]的最大长度,该属性[shu xing]值为 0 时,不限制输入[shu ru]的字符[zi fu] 数。 (3)MultiLine 属性[shu xing]:用来设置[she zhi]文本[wen ben]框中的文本[wen ben]是否可以输入[shu ru]多行并以多行显示[xian shi]。值为 true 时,允许多行 显示[xian shi]。值为false时不允许多行显示[xian shi],一旦文本[wen ben]超过文本[wen ben]框宽度时,超过部分不显示[xian shi]。 (4)HideSelection属性[shu xing]:用来决定当焦点离开文本[wen ben]框后,选中的文本[wen ben]是否还以选中的方式显示[xian shi],值为 true, 则不以选中的方式显示[xian shi],值为 false将依旧以选中的方式显示[xian shi]。 (5)ReadOnly属性[shu xing]:用来获取或设置[she zhi]一个值,该值指示[zhi shi]文本[wen ben]框中的文本[wen ben]是否为只读[zhi du]。值为 true时为只读[zhi du], 值为 false时可读可写。 (6)PasswordChar 属性[shu xing]:是一个字符[zi fu]串[zi fu chuan]类型[lei xing],允许设置[she zhi]一个字符[zi fu],运行[yun hang]程序时,将输入[shu ru]到 Text 的内容全 部显示[xian shi]为该属性[shu xing]值,从而起到保密[bao mi]作用[zuo yong],通常用来输入[shu ru]口令[kou ling]或密码[mi ma]。 (7) ScrollBars属性[shu xing]: 用来设置[she zhi]滚动条[gun dong tiao]模式[mo shi], 有四种选择[xuan ze]: ScrollBars.None (无滚动条[gun dong tiao]), ScrollBars.Horizontal (水平滚动条[gun dong tiao]),ScrollBars.Vertical(垂直滚动条),ScrollBars.Both(水平和垂直滚动条[gun dong tiao])。 注意:只有当MultiLine属性[shu xing]为true时,该属性[shu xing]值才有效[you xiao]。在 WordWrap属性[shu xing]值为true时, 水平滚动条[gun dong tiao]将不起作用[zuo yong] (8)SelectionLength属性[shu xing]:用来获取或设置[she zhi]文本[wen ben]框中选定的字符[zi fu]数。只能在代码[dai ma]中使用,值为0 时,表示 未选中任何字符[zi fu]。 (9)SelectionStart属性[shu xing]:用来获取或设置[she zhi]文本[wen ben]框中选定的文本[wen ben]起始点。只能在代码[dai ma]中使用,第一个字符[zi fu]的 位置[wei zhi]为0,第二个字符[zi fu]的位置[wei zhi]为1,依此类推。 (10)SelectedText 属性[shu xing]:用来获取或设置[she zhi]一个字符[zi fu]串[zi fu chuan],该字符[zi fu]串[zi fu chuan]指示[zhi shi]控件中当前选定的文本[wen ben]。只能在代 码中使用。 (11)Lines:该属性[shu xing]是一个数组[shu zu]属性[shu xing],用来获取或设置[she zhi]文本[wen ben]框控件中的文本[wen ben]行。即文本[wen ben]框中的每一行存放 在 Lines数组[shu zu]的一个元素中。 (12)Modified:用来获取或设置[she zhi]一个值,该值指示[zhi shi]自创建文本[wen ben]框控件或上次设置[she zhi]该控件的内容后,用户[yong hu] 是否修改[xiu gai]了该控件的内容。值为true表示修改[xiu gai]过,值为 false表示没有修改[xiu gai]过。 (13)TextLength属性[shu xing]:用来获取控件中文[zhong wen]本[wen ben]的长度。 (14)WordWrap:用来指示[zhi shi]多行文本[wen ben]框控件在输入[shu ru]的字符[zi fu]超过一行宽度时是否自动换行[huan hang]到下一行的开始, 值为 true,表示自动换到下一行的开始,值为false表示不自动换到下一行的开始。 2、常用方法[fang fa]: (1)AppendText方法[fang fa]:把一个字符[zi fu]串[zi fu chuan]添加到文件[wen jian]框中文[zhong wen]本[wen ben]的后面,调用[tiao yong]的一般格式如下: 文本[wen ben]框对象[dui xiang].AppendText(str) 参数[can shu] str是要添加的字符[zi fu]串[zi fu chuan]。 (2)Clear方法[fang fa]:从文本[wen ben]框控件中清除[qing chu]所有文本[wen ben]。调用[tiao yong]的一般格式如下: 文本[wen ben]框对象[dui xiang].Clear()该方法无参数[can shu]。 (3)Focus方法[fang fa]:是为文本[wen ben]框设置[she zhi]焦点。如果焦点设置[she zhi]成功,值为 true,否则为false。调用[tiao yong]的一般格式如 下: 文本框对象[dui xiang].Focus()该方法[fang fa]无参数[can shu]。 (4)Copy方法[fang fa]:将文本[wen ben]框中的当前选定内容复制到剪贴板[jian tie ban]上。调用[tiao yong]的一般格式如下: 文本框对象[dui xiang].Copy()该方法[fang fa]无参数[can shu]。 (5)Cut方法[fang fa]:将文本[wen ben]框中的当前选定内容移动到剪贴板[jian tie ban]上。调用[tiao yong]的一般格式如下: 文本[wen ben]框对象.Cut()该方法[fang fa]无参数[can shu]。 (6)Paste方法[fang fa]:用剪贴板[jian tie ban]的内容替换[ti huan]文本[wen ben]框中的当前选定内容。调用[tiao yong]的一般格式如下: 文本[wen ben]框对象.Paste()该方法[fang fa]无参数[can shu]。 (7)Undo 方法[fang fa]:撤销文本[wen ben]框中的上一个编辑操作。调用[tiao yong]的一般格式如下: 文本[wen ben]框对象.Undo()该方法[fang fa]无参数[can shu]。 (8)ClearUndo方法[fang fa]:从该文本[wen ben]框的撤销缓冲区中清除[qing chu]关于最近操作的信息[xin xi],根据应用[ying yong] 程序的状态,可以使用此方法[fang fa]防止重复执[fu zhi]行撤销操作。调用[tiao yong]的一般格式如下: 文本[wen ben]框对象[dui xiang].ClearUndo()该方法[fang fa]无参数[can shu]。 (9)Select 方法[fang fa]:用来在文本[wen ben]框中设置[she zhi]选定文本[wen ben]。调用[tiao yong]的一般格式如下: 文本[wen ben]框对象[dui xiang].Select(start,length) 该方法[fang fa]有两个参数[can shu],第一个参数[can shu]start用来设定文本[wen ben]框中当前选定文本[wen ben]的第一个字符[zi fu]的位 置,第二个参数[can shu]length用来设定要选择[xuan ze]的字符[zi fu]数。 (10)SelectAll 方法[fang fa]:用来选定文本[wen ben]框中的所有文本[wen ben]。调用[tiao yong]的一般格式如下: 文本[wen ben]框对象[dui xiang].SelectAll()该方法[fang fa]无参数[can shu]。 3、常用事件[shi jian]: (1)GotFocus 事件[shi jian]:该事件[shi jian]在文本[wen ben]框接收焦点时发生。 (2)LostFocus事件[shi jian]:该事件[shi jian]在文本[wen ben]框失去焦点时发生。 (3)TextChanged 事件[shi jian]:该事件[shi jian]在Text属性[shu xing]值更改时发生。无论是通过编程[bian cheng]修改[xiu gai]还是用户[yong hu]交互[jiao hu]更改文本[wen ben]框 的 Text属性[shu xing]值,均会引发此事件[shi jian]。 4、 RichTextBox控件 RichTextBox是一种既可以输入[shu ru]文本[wen ben]、 又可以编辑文本[wen ben]的文字[wen zi]处理[zi chu li]控件, 与TextBox控件相比, RichTextBox 控件的文字[wen zi]处理[zi chu li]功能更加丰富, 不仅可以设定文字[wen zi]的颜色、 字体[zi ti], 还具有字符[zi fu]串[zi fu chuan]检索[jian suo]功能。 另外, RichTextBox 控件还可以打开、编辑和存储.rtf格式文件[wen jian]、ASCII文本[wen ben]格式文件[wen jian]及Unicode编码[bian ma]格式的文件[wen jian]。 1、常用属性[shu xing] 上面介绍的 TextBox 控件所具有的属性[shu xing],RichTextBox 控件基本上都具有,除此之外,该控件还具有一些 其他属性。 (1)RightMargin属性[shu xing]:用来设置[she zhi]或获取右侧空白的大小,单位[dan wei]是像素[xiang su]。通过该属性[shu xing]可以设置[she zhi]右侧空白, 如希望[xi wang]右侧空白为 50像素[xiang su],可使用如下语句[yu ju]: RichTextBox1.RightMargin=RichTextBox1.Width-50; (2)Rtf 属性[shu xing]:用来获取或设置[she zhi]RichTextBox控件中的文本[wen ben],包括所有RTF格式代码[dai ma]。可以使用此属性[shu xing]将 RTF格式文本[wen ben]放到控件中以进行显示[xian shi],或提取控件中的RTF格式文本[wen ben]。此属性[shu xing]通常用于[yong yu]在RichTextBox控 件和其他RTF源(如 MicrosoftWord或 Windows写字板)之间交换[jiao huan]信息[xin xi]。 (3)SelectedRtf 属性[shu xing]:用来获取或设置[she zhi]控件中当前选定的 RTF 格式的格式文本[wen ben]。此属性[shu xing]使用户[yong hu]得以获取 控件中的选定文本[wen ben],包括RTF格式代码[dai ma]。如果当前未选定任何文本[wen ben],给该属性[shu xing]赋值[fu zhi]将把所赋的文本[wen ben]插入到 插入点[ru dian]处。如果选定了文本[wen ben],则给该属性[shu xing]所赋的文本[wen ben]值将替换[ti huan]掉选定文本[wen ben]。 (4)SelectionColor属性[shu xing]:用来获取或设置[she zhi]当前选定文本[wen ben]或插入点[ru dian]处的文本[wen ben]颜色。 (5)SelectionFont属性[shu xing]:用来获取或设置[she zhi]当前选定文本[wen ben]或插入点[ru dian]处的字体[zi ti]。 2、常用方法[fang fa] 前面介绍的 TextBox 控件所具有的方法[fang fa],RichTextBox 控件基本上都具有,除此之外,该控件还具有一些 其他方法[fang fa]。 (1)Redo 方法[fang fa]:用来重做[zhong zuo]上次被撤销的操作。调用[tiao yong]的一般格式如下: RichTextBox对象[dui xiang].Redo() 该方法[fang fa]无参数[can shu]。 (2)Find 方法[fang fa]:用来从RichTextBox控件中查找[cha zhao]指定的字符[zi fu]串[zi fu chuan]。经常使用的调用[tiao yong]格式如下: [格式1]: RichTextBox对象.Find(str) [功能]:在指定的“RichTextBox”控件中查找[cha zhao]文本[wen ben],并返回搜索[sou suo]文本[wen ben]的第一个字符[zi fu]在控件内的位置[wei zhi]。如果 未找到搜索[sou suo]字符[zi fu]串[zi fu chuan]或者str参数[can shu]指定的搜索[sou suo]字符[zi fu]串[zi fu chuan]为空,则返回值为1。 [格式2]: RichTextBox对象.Find(str,RichTextBoxFinds) [功能]:在“RichTextBox 对象[dui xiang]”指定的文本[wen ben]框中搜索[sou suo] str 参数[can shu]中指定的文本[wen ben],并返回文本[wen ben]的第一个字符[zi fu]在 控件内的位置[wei zhi]。如果返回负值,则未找到所搜索[sou suo]的文本[wen ben]字符[zi fu]串[zi fu chuan]。还可以使用此方法[fang fa]搜索[sou suo]特定格式的文本[wen ben]。 参数RichTextBoxFinds指定如何在控件中执行[zhi hang]文本[wen ben]搜索[sou suo],其取值及其含义如表9-4 所示。 [格式3]: RichTextBox 对象[dui xiang].Find(str,start,RichTextBoxFinds) [功能]:这里Find方法[fang fa]与前面的格式2 基本类似,不同的只是通过设置[she zhi]控件文本[wen ben]内的搜索[sou suo]起始位置[wei zhi]来缩小[suo xiao] 文本[wen ben]搜索[sou suo]范围[fan wei],start参数[can shu]表示开始搜索[sou suo]的位置[wei zhi]。此功能使用户[yong hu]得以避开可能已搜索[sou suo] 过的文本[wen ben]或已经知道不 包含要搜索[sou suo]的特定文本[wen ben]的文本[wen ben]。如果在options参数[can shu]中指定了RichTextBoxFinds.Reverse值,则 start参数[can shu]的 值将指示[zhi shi]反向搜索[sou suo]结束的位置[wei zhi],因为搜索[sou suo]是从文档[wen dang]底部开始的。 (3)SaveFile方法[fang fa]:用来把 RichTextBox中的信息[xin xi]保存到指定的文件[wen jian]中,调用[tiao yong]格式有以下三种。 [格式1]: RichTextBox对象[dui xiang] 名.SaveFile(文件[wen jian]名[wen jian ming]); [功能]:将 RichTextBox控件中的内容保存为RTF格式文件[wen jian]中。 [格式2]: RichTextBox 对象[dui xiang]名[dui xiang ming].SaveFile(文件[wen jian]名[wen jian ming],文件[wen jian]类型[lei xing]); [功能]:将 RichTextBox控件中的内容保存为“文件[wen jian]类型[lei xing]”指定的格式文件[wen jian]中。 [格式3]: RichTextBox对象[dui xiang]名[dui xiang ming].SaveFile(数据[shu ju]流[shu ju liu],数据[shu ju]流[shu ju liu]类型[lei xing]); [功能]:将 RichTextBox控件中的内容保存为“数据[shu ju]流[shu ju liu]类型[lei xing]”指定的数据[shu ju]流[shu ju liu]类型[lei xing]文件[wen jian]中。 其中,文件[wen jian]类型[lei xing]或数据[shu ju]流[shu ju liu]类型[lei xing]的取值及含义如表9-5所示。 (4)LoadFile 方法[fang fa]:使用LoadFile方法[fang fa]可以将文本[wen ben]文件[wen jian]、RTF文件[wen jian]装入[zhuang ru]RichTextBox控件。主要的调用[tiao yong]格 式有以下三种。 [格式1]: RichTextBox对象[dui xiang]名[dui xiang ming].LoadFile(文件[wen jian]名[wen jian ming]); [功能]:将RTF格式文件[wen jian]或标准ASCII 文本[wen ben]文件[wen jian]加载到RichTextBox控件中。 [格式2]: RichTextBox对象[dui xiang]名[dui xiang ming].LoadFile(数据[shu ju]流[shu ju liu],数据[shu ju]流[shu ju liu]类型); [功能]:将现有数据[shu ju]流[shu ju liu]的内容加载到RichTextBox控件中。 [格式3]: RichTextBox对象[dui xiang] 名.LoadFile(文件[wen jian]名[wen jian ming],文件[wen jian]类型[lei xing]); [功能]:将特定类型[lei xing]的文件[wen jian]加载到RichTextBox控件中。 注意:文件[wen jian]类型[lei xing]和数据[shu ju] 流格式见表9-5。 5、NumericUpDown 控件 【Windows 窗体[chuang ti]】控件组中的 NumericUpDown 控件看起来像是一个文本[wen ben]框与一对用户[yong hu]可单击[dan ji]以调整[tiao zheng]值的 箭头的组合[zu he]。可以通过单击[dan ji]向上和向下按钮、按向上和向下箭头键来增大和减小数字[shu zi],也可以直接输入[shu ru]数 字。单击[dan ji]向上箭头键时,值向最大值方向增加;单击[dan ji]向下箭头键时,值 向最小值方向减少。该控件在工具箱[gong ju xiang] 中的图标[tu biao]为 。 该控件的样式如图9-13所示。 1、常用属性[shu xing]: (1)DecimalPlaces:获取或设置[she zhi]该控件中显示[xian shi] 的小数位数。 (2)Hexadecimal:获取或设置[she zhi]一个值,该值指示[zhi shi]该控件是否以十六进制[shi liu jin zhi]格式显示[xian shi]所包 含的值。 (3)Increment:获取或设置[she zhi]单击[dan ji]向上或向下按钮时,该控件递增或递减的值。 (4)Maximum:获取或设置[she zhi]该控件的最大值。 (5)Minimum:获取或设置[she zhi]该控件的最小值。 (6)Value:获取或设置[she zhi]该控件的当前值。 与 TextBox控件一样,NumericUpDown控件的常用事件[shi jian]有:ValueChanged、GotFocus、LostFocus等。 按钮类控件 6、Button 控件 Button控件又称[you cheng]按钮控件,是 Windows应用[ying yong]程序[ying yong cheng xu]中最常用的控件之一,通常用它来执行[zhi hang]命令[ming ling]。如果按钮具 有焦点,就可以使用鼠标[shu biao]左键、Enter键或空格键触发该按钮的 Click事件[shi jian]。通过设置[she zhi]窗体[chuang ti]的AcceptButton 或 CancelButton 属性[shu xing],无论该按钮是否有焦点,都可以使用户[yong hu]通过按 Enter 或 Esc 键来触发按钮的 Click 事件[shi jian]。一般不使用 Button 控件的方法[fang fa]。Button 控件也具有许多如 Text、ForeColor 等的常规属性[shu xing],此处不 再介绍,只介绍该控件有特色的属性[shu xing]。以后介绍的控件也采用同样的方法[fang fa]来处理。 1、常用属性[shu xing] (1)DialogResult属性[shu xing]:当使用ShowDialog方法[fang fa]显示[xian shi]窗体[chuang ti]时,可以使用该属性[shu xing]设置[she zhi]当用户[yong hu]按了该按钮后, ShowDialog 方法[fang fa]的返回值。值有:OK、Cancel、Abort、Retry、Ignore、Yes、No等。 (2)Image属性[shu xing]:用来设置[she zhi]显示[xian shi]在按钮上的图像[tu xiang]。 (3)FlatStyle属性[shu xing]:用来设置[she zhi]按钮的外观。其取值及含义如表9-7 所示。 2、常用事件[shi jian]: (1)Click 事件[shi jian]:当用户[yong hu]用鼠标[shu biao]左键单击[dan ji]按钮控件时,将发生该事件[shi jian]。 (2)MouseDown事件[shi jian]:当用户[yong hu]在按钮控件上按下鼠标[shu biao]按钮时,将发生该事件[shi jian]。 (3)MouseUp 事件[shi jian]:当用户[yong hu]在按钮控件上释放[shi fang]鼠标[shu biao]按钮时,将发生该事件[shi jian]。 7、GroupBox 控件 GroupBox 控件又称[you cheng]为分组框,它在工具箱[gong ju xiang]中的图标[tu biao]是 。该控件常用于[yong yu]为其他控件提供可 识别[shi bie]的分组,其典型的用法之一就是给RadioButton控件分组。可以通过分组框的Text属性[shu xing]为分组框中的 控件向用户[yong hu]提供提示[ti shi]信息[xin xi],如图 9-14 所示。设计时,向GroupBox 控件中添 加控件的方法[fang fa]有两种:一是直接在分组框中绘制[hui zhi]控件;二是把某一个已存在 的控件复制到剪贴板[jian tie ban]上,然后选中分组框,再执行[zhi hang]粘贴操作即可。位于分组 框中的所有控件随着分组框的移动而一起移动,随着分组框的删除[shan chu]而全部删 除,分组框的Visible属性[shu xing]和Enabled属性[shu xing]也会影响到分组框中的所有控件。 分组框的最常用的属性[shu xing]是Text,一般用来给出分组提示[ti shi]。 8、RadioButton控件 RadioButton 又称[you cheng]单选按钮[dan xuan an niu],其在工具箱[gong ju xiang]中的图标[tu biao]为 ,单选按钮[dan xuan an niu]通常成组出现,用于[yong yu]提供 两个或多个互斥选项[xuan xiang],即在一组单选钮中只能选择[xuan ze]一个,如图9-14所示。 1、常用属性[shu xing]: (1)Checked属性[shu xing]:用来设置[she zhi]或返回单选按钮[dan xuan an niu]是否被选中,选中时值为true,没有选中时值为false。 (2)AutoCheck 属性[shu xing]:如果 AutoCheck 属性[shu xing]被设置[she zhi]为 true(默认[mo ren]),那么当选择[xuan ze]该单选按钮[dan xuan an niu]时,将自动清 除该组中所有其他单选按钮[dan xuan an niu]。对一般用户[yong hu][yi ban yong hu]来说,不需改变该属性[shu xing],采用默认[mo ren] 值(true)即可。 (3)Appearance 属性[shu xing]:用来获取或设置[she zhi]单选按钮[dan xuan an niu]控件的外观。当其取值为 Appearance.Button 时,将使单 选按钮的外观像命令[ming ling]按钮一样:当选定它时,它看似已被按下。当取值为 Appearance.Normal 时,就是默 认的单选按钮[dan xuan an niu]的外观。 (4)Text属性[shu xing]:用来设置[she zhi]或返回单选按钮[dan xuan an niu]控件内显示[xian shi]的文本[wen ben],该属性[shu xing]也可以包含访问键,即前面带有“&” 符号的字母,这样用户[yong hu]就可以通过同时按Alt键和访问键来选中控件。 2、常用事件[shi jian]: (1)Click事件[shi jian]:当单击[dan ji]单选按钮[dan xuan an niu]时,将把单选按钮[dan xuan an niu]的Checked属性[shu xing]值设置[she zhi]为true,同时发生Click事件[shi jian]。 (2)CheckedChanged事件[shi jian]:当Checked属性[shu xing]值更改时,将触发CheckedChanged事件[shi jian]。 9、 CheckBox 控件 CheckBox控件的常用属性[shu xing]如下。 (1)TextAlign属性[shu xing]:用来设置[she zhi]控件中文[zhong wen]字[wen zi]的对齐[dui qi]方式,有9种选择[xuan ze],如图9-16 所示。 从上到下、从左至右分别是:ContentAlignment.TopLeft、 ContentAlignment.TopCenter、 ContentAlignment.TopRight、 ContentAlignment.MiddleLeft、ContentAlignment.MiddleCenter、 ContentAlignment.MiddleRight、 ContentAlignment.BottomLeft、ContentAlignment.BottomCenter 和 ContentAlignment.BottomRight。该属性[shu xing]的默认[mo ren]值为ContentAlignment.MiddleLeft,即文字[wen zi]左 对齐、居控件垂直方向中央。 (2)ThreeState属性[shu xing]:用来返回或设置[she zhi]复选框是否能表示三种状态[zhuang tai],如果属性[shu xing]值为true时,表示可以表示 三种状态[zhuang tai]—选中、没选中和中间态(CheckState.Checked、CheckState.Unchecked 和 CheckState.Indeterminate),属性[shu xing]值为false时,只能表示两种状 态——选中和没选中。 (3)Checked 属性[shu xing]:用来设置[she zhi]或返回复选框是否被选中,值为true时,表示复选框被选中,值为false时, 表示复选框没被选中。当ThreeState属性[shu xing] 值为true时,中间态也表示选中。 (4)CheckState 属性[shu xing]:用来设置[she zhi]或返回复选框的状态[zhuang tai]。在 ThreeState 属性[shu xing]值为 false 时,取值有 CheckState.Checked或CheckState.Unchecked。在ThreeState属性[shu xing]值被设置[she zhi] 为True时,CheckState还可以取 值 CheckState.Indeterminate,在此时,复选框显示[xian shi]为浅灰色选中状态[zhuang tai],该状态[zhuang tai]通常表示该选项[xuan xiang]下的多个子 选项[xuan xiang]未完全选中。 CheckBox 控件的常用事件[shi jian]有Click和CheckedChanged等,其含义及触发时机与单选按钮[dan xuan an niu] 完成一致。 列表[lie biao]类控件 10、 ListBox 控件 ListBox 控件又称[you cheng]列表[lie biao]框,它在工具箱[gong ju xiang]中的图标[tu biao]为,它显示[xian shi]一个项目[xiang mu]列表[lie biao]供用户[yong hu]选择[xuan ze]。在列表[lie biao]框中,用户[yong hu] 一次可以选择[xuan ze]一项,也可以选择[xuan ze]多项。 1、常用属性[shu xing]: (1) Items属性[shu xing]: 用于[yong yu]存放列表[lie biao]框中的列表[lie biao]项, 是一个集合。通过该属性,可以添加列表[lie biao]项、 移除列表[lie biao]项和获得列表[lie biao]项的数目。 (2)MultiColumn 属性[shu xing]:用来获取或设置[she zhi]一 个值,该值指示[zhi shi] ListBox是否支持[zhi chi]多列。值 为 true 时表示支持[zhi chi]多列,值为 false 时不支持[zhi chi] 多列。当使用多列模式[mo shi]时,可以使控件得以显 示更多可见项,如图9-19 所示。 (3)ColumnWidth 属性[shu xing]:用来获取或设置[she zhi]多 列 ListBox控件中列的宽度。 (4)SelectionMode 属性[shu xing]:用来获取或设置[she zhi]在ListBox控件中选择[xuan ze]列表[lie biao]项的方法[fang fa]。当 SelectionMode属性[shu xing]设 置为 SelectionMode.MultiExtended 时,按下 Shift 键的同时单击[dan ji]鼠标[shu biao]或者同时按 Shift 键和箭头键之一(上 箭头键、下箭头键、左箭头键和右箭头键),会将选定内容从前一选定项扩展[kuo zhan]到当前项。按 Ctrl 键的同时 单击[dan ji]鼠标[shu biao]将选择[xuan ze]或撤销选择[xuan ze]列表[lie biao]中的某项;当该属性[shu xing]设置[she zhi]为 SelectionMode.MultiSimple 时,鼠标[shu biao]单击[dan ji]或按- 11 - 空格键将选择[xuan ze]或撤销选择[xuan ze]列表[lie biao]中的某项;该属性[shu xing]的默认[mo ren]值为SelectionMode.One,则只能选择[xuan ze]一项。 (5)SelectedIndex属性:用来获取或设置[she zhi]ListBox控件中当前选定项的从零开始的索引[suo yin]。如果未选定任何 项,则返回值为1。对于只能选择[xuan ze]一项的ListBox控件,可使用此属性[shu xing]确定ListBox中选定的项的索引[suo yin]。如 果 ListBox 控件的 SelectionMode 属性[shu xing]设置[she zhi]为 SelectionMode.MultiSimple 或 SelectionMode.MultiExtended, 并在该列表[lie biao]中选定多个项,此时应用[ying yong]SelectedIndices来获取选定项的索引[suo yin]。 (6)SelectedIndices。该属性[shu xing]用来获取一个集合,该集合包含 ListBox 控件中所有选定项的从零开始的索 引。 (7)SelectedItem属性[shu xing]:获取或设置[she zhi]ListBox中的当前选定项。 (8)SelectedItems属性[shu xing]:获取 ListBox控件中选定项的集合,通常在ListBox控件的SelectionMode属性[shu xing]值 设置[she zhi]为 SelectionMode.MultiSimple或SelectionMode.MultiExtended(它指示[zhi shi]多重[duo zhong]选择[xuan ze]ListBox)时使用。 (9)Sorted属性[shu xing]:获取或设置[she zhi]一个值,该值指示[zhi shi]ListBox控件中的列表[lie biao]项是否按字母顺序排序[pai xu]。如果列表[lie biao] 项按字母排序[pai xu],该属性[shu xing]值为true;如果列表[lie biao]项不按字母排序[pai xu],该属性[shu xing]值为false。默认[mo ren]值为false。在向已排 序的 ListBox控件中添加项时,这些项会移动到排序[pai xu]列表[lie biao]中适当的位置[wei zhi]。 (10)Text 属性[shu xing]:该属性[shu xing]用来获取或搜索[sou suo] ListBox 控件中当前选定项的文本[wen ben]。当把此属性[shu xing]值设置[she zhi]为字符[zi fu]串[zi fu chuan] 值时,ListBox 控件将在列表[lie biao]内搜索[sou suo]与指定文本[wen ben]匹配的项并选择[xuan ze]该项。若在列表[lie biao]中选择[xuan ze]了一项或多项,该 属性[shu xing]将返回第一个选定项的文本[wen ben]。 (11)ItemsCount 属性[shu xing]:该属性[shu xing]用来返回列表[lie biao]项的数目。 2、常用方法[fang fa]: (1)FindString方法[fang fa]:用来查找[cha zhao]列表[lie biao]项中以指定字符[zi fu]串[zi fu chuan]开始的第一个项,有两种调用[tiao yong]格式。 [格式1]: ListBox对象[dui xiang].FindString(s); [功能]:在“ListBox 对象[dui xiang]”指定的列表[lie biao]框中查找[cha zhao]字符[zi fu]串[zi fu chuan] s,如果找到则返回该项从零开始的索引[suo yin];如果找 不到匹配项,则返回ListBox.NoMatches。 [格式2]: ListBox对象[dui xiang].FindString(s,n); [功能]:在 ListBox 对象[dui xiang]指定的列表[lie biao]框中查找[cha zhao]字符[zi fu]串[zi fu chuan] s,查找[cha zhao]的起始项为n+1,即 n 为开始查找[cha zhao]的前一项的 索引[suo yin]。如果找到则返回该项从零开始的索引[suo yin];如果找不到匹配项,则返回 ListBox.NoMatches。 注意:FindString 方式只是词语部分匹配,即要查找[cha zhao]的字符[zi fu]串[zi fu chuan]在列表[lie biao]项的开头,便认为是匹配的,如果要 精确匹配,即只有在列表[lie biao]项与查找[cha zhao]字符[zi fu]串[zi fu chuan]完全一致时才认为匹配,可使用FindStringExact方法[fang fa],调用[tiao yong]格式 与功能与FindString基本一致。 (2)SetSelected方法[fang fa]:用来选中某一项或取消[qu xiao]对某一项的选择[xuan ze],调用[tiao yong]格式及功能如下。 [格式]: ListBox对象[dui xiang].SetSelected(n,l); [功能]:如果参数[can shu] l 的值是 true,则在 ListBox 对象[dui xiang]指定的列表[lie biao]框中选中索引[suo yin]为 n 的列表[lie biao]项,如果参数[can shu]l 的 值是 false,则索引[suo yin]为n 的列表[lie biao]项未被选中。 (3)Items.Add方法[fang fa]:用来向列表[lie biao]框中增添一个列表[lie biao]项,调用[tiao yong]格式及功能如下。 [格式]: ListBox对象[dui xiang].Items.Add(s); [功能]:把参数[can shu]s添加到“listBox对象[dui xiang]”指定的列表[lie biao]框的列表[lie biao]项中。 (4)Items.Insert 方法[fang fa]:用来在列表[lie biao]框中指定位[ding wei]置[wei zhi]插入一个列表[lie biao]项,调用[tiao yong]格式及功能如下。 [格式]: ListBox对象.Items.Insert(n,s); [功能]:参数[can shu]n代表要插入的项的位置[wei zhi]索引[suo yin],参数[can shu] s代表要插入的项,其功能是把s插入到“listBox对象[dui xiang]” 指定的列表[lie biao]框的索引[suo yin]为n的位置[wei zhi]处。 (5)Items.Remove 方法[fang fa]:用来从列表[lie biao]框中删除[shan chu]一个列表[lie biao]项,调用[tiao yong]格式及功能如下。 [格式]: ListBox对象[dui xiang].Items.Remove(k); [功能]:从 ListBox对象[dui xiang]指定的列表[lie biao]框中删除[shan chu]列表[lie biao]项s。 (6)Items.Clear方法[fang fa]:用来清除[qing chu]列表[lie biao]框中的所有项。其调用[tiao yong]格式如下: ListBox 对象[dui xiang].Items.Clear(); 该方法[fang fa]无参数[can shu]。 (7)BeginUpdate方法[fang fa]和EndUpdate方法[fang fa]:这两个方法[fang fa]均无参数,调用[tiao yong]格式分别如下: ListBox对象[dui xiang].BeginUpdate(); ListBox对象[dui xiang].EndUpdate(); 这两个方法[fang fa]的作用[zuo yong]是保证使用 Items.Add 方法[fang fa]向列表[lie biao]框中添加列表[lie biao]项时,不重绘列表[lie biao]框。即在向列表[lie biao]框添 加项之前,调用[tiao yong] BeginUpdate方法[fang fa],以防止每次向列表[lie biao]框中添加项时都重新 绘制[hui zhi] ListBox 控件。完成向列表[lie biao]框中添加项的任务[ren wu]后,再调用[tiao yong] EndUpdate 方法[fang fa]使 ListBox 控件重新绘制[hui zhi]。 当向列表[lie biao]框中添加大量的列表[lie biao]项时,使用这种方法[fang fa]添加项可以防止在绘制[hui zhi] ListBox 时的闪烁[shan shuo]现象。一个例 子程序[zi cheng xu]如下: publicvoidAddToMyListBox() {listBox1.BeginUpdate(); for(intx=1;x<5000;x++) { listBox1.Items.Add("Item"+x.ToString()); } listBox1.EndUpdate(); } ListBox控件常用事件[shi jian]有Click和 SelectedIndexChanged,SelectedIndexChanged事件[shi jian]在列表[lie biao]框中改变选中项 时发生。 11、 ComboBox 控件 ComboBox 控件又称[you cheng]组合[zu he]框,在工具箱[gong ju xiang]中的图标[tu biao]为。默认[mo ren]情况[qing kuang]下,组合[zu he]框分两个部分显示[xian shi]:顶部是一个允 许输入文本[wen ben]的文本[wen ben]框,下面的列表[lie biao]框则显示[xian shi]列表[lie biao]项。可以认为ComboBox就是文本[wen ben]框与列表[lie biao]框的组合[zu he],与 文本[wen ben]框和列表[lie biao]框的功能基本一致。与列表[lie biao]框相比,组合[zu he]框不能多选,它无 SelectionMode 属性[shu xing]。但组合[zu he]框 有一个名为DropDownStyle的属性[shu xing],该属性[shu xing]用来设置[she zhi]或获取组合[zu he] 框的样式,其取值及含义如表9-10所示。 组合[zu he]框的各种样式如图9-22 所示, 左边的组合[zu he]框能够通过文本[wen ben]框输入[shu ru]文本[wen ben], 中间的组合[zu he]框则不能输入[shu ru]文本[wen ben], 只能选择[xuan ze]列表[lie biao]项。 12、CheckedListBox 控件 CheckedListBox 控件又称[you cheng]复选列表[lie biao]框,它扩展[kuo zhan]了ListBox控件,它几乎 能完成列表[lie biao]框可以完成的所有任务[ren wu],并且还可以在列表[lie biao]项旁边显示[xian shi]复 选标记[biao ji]。两种控件间的其他差异在于,复选列表[lie biao]框只支持[zhi chi] DrawMode.Normal,并且复选列表[lie biao]框只能有一项选定或没有任何选定。此处需要注意一点:选定的项是指 窗体[chuang ti]上突出显示[xian shi]的项,已选中的项是指左边的复选框被选中的项。复选列表[lie biao]框的样式如图9-23所示。 除具有列表[lie biao]框的全部属性[shu xing]外,它还具有以下属性[shu xing]。 (1)CheckOnClick属性[shu xing]:获取或设置[she zhi]一个值,该值指示[zhi shi]当某项被选定时 是否应切换左侧的复选框。如果立即切换选中标记[biao ji],则该属性[shu xing]值为true; 否则为false。默认[mo ren]值为false。 (2)CheckedItems 属性[shu xing]:该属性[shu xing]是复选列表[lie biao]框中选中项的集合,只代表 处于CheckState. Checked或CheckState.Indeterminate状态[zhuang tai]的那些项。 该集 合中的索引[suo yin]按升序排列[pai lie]。 (3)CheckedIndices 属性[shu xing]:该属性[shu xing]代表选中项(处于选中状态[zhuang tai]或中间状 态的那些项)索 引的集合。 PictureBox控件的使用 13、 PictureBox 控件的使用 PictureBox 控件又称[you cheng]图片框,常用于[yong yu]图形[tu xing]设计和图像[tu xiang]处理[tu xiang chu li]应用[ying yong]程序[ying yong cheng xu],在该控件中可以加载的图像[tu xiang]文件[wen jian]格式 有:位图[wei tu]文件[wen jian](.Bmp)、图标[tu biao]文件[wen jian](.ICO)、图元[tu yuan]文件(.wmf)、.JPEG 和.GIF 文件[wen jian]。下而仅介绍该控件的 常用属性[shu xing]和事件[shi jian]。 1、常用属性[shu xing]: (1)Image属性[shu xing]:用来设置[she zhi]控件要显示[xian shi]的图像[tu xiang]。把文件[wen jian]中的图像[tu xiang]加载到图片框通常采用以下三种方式。 设计时单击[dan ji]Image属性[shu xing],在其后将出现【…】按钮,单击[dan ji]该按钮将出现一个【打开】对话框[dui hua kuang],在该对话框[dui hua kuang] 中找到相应的图形[tu xing]文件[wen jian]后单击[dan ji]【确定】按钮。产生一个Bitmap类的实例并赋值[fu zhi]给Image属性[shu xing]。形式如下: Bitmapp=newBitmap(图像[tu xiang]文件[wen jian]名[wen jian ming]); pictureBox对象[dui xiang]名[dui xiang ming].Image=p; 通过 Image.FromFile方法[fang fa]直接从文件[wen jian]中加载。形式如下: pictureBox对象[dui xiang]名[dui xiang ming].Image=Image.FromFile(图像[tu xiang] 文件[wen jian]名[wen jian ming]); (2)SizeMode属性[shu xing]:用来决定图像[tu xiang]的显示[xian shi]模式[mo shi][xian shi mo shi]。 14、Timer 控件 Timer 控件又称[you cheng]定时器[ding shi qi]控件或计时器[ji shi qi]控件,在工具箱[gong ju xiang]中的图标[tu biao]是 ,该控件的主要作用[zuo yong]是按一定的 时间间隔周期[zhou qi]性地触发一个名为Tick的事件[shi jian], 因此在该事件[shi jian]的代码[dai ma]中可以放置一些需要每隔一段时间重复 执行[zhi hang]的程序段[cheng xu duan]。在程序运行[yun hang]时[yun hang shi],定时器[ding shi qi]控件是不可见 的。 1、常用属性[shu xing]: (1)Enabled 属性[shu xing]:用来设置[she zhi]定时器[ding shi qi]是否正在运行[yun hang]。值为 true 时,定时器[ding shi qi]正在运行[yun hang],值为 false 时,定时 器不在运行。 (2)Interval属性[shu xing]:用来设置[she zhi]定时器[ding shi qi]两次Tick事件[shi jian]发生的时间间隔,以毫秒为单位[dan wei]。如它的值设置[she zhi]为500, 则将每隔 0.5秒发生一个Tick事件[shi jian]。 2、常用方法[fang fa]: (1)Start方法[fang fa]:用来启动[qi dong]定时器[ding shi qi]。调用[tiao yong]的一般格式如下: Timer控件名.start(); 该方法[fang fa]无参数[can shu]。 (2)Stop方法[fang fa]:用来停止定时器[ding shi qi]。调用[tiao yong]的一般格式如下: Timer控件名.stop(); 该方法[fang fa]无参数[can shu]。 3、常用事件[shi jian]: 定义器控件响应[xiang ying]的事件[shi jian]只有Tick,每隔Interval时间后将触发一次该事件[shi jian]。 15、ProgressBar控件和 TrackBar控件 1.ProgressBar控件 ProgressBar 控件又称[you cheng]进度条控件,它在工具栏中的图标[tu biao]为 ,该控件在水平栏中显示[xian shi]适当长度 的矩形来指示[zhi shi]进程[jin cheng]的进度。当执行[zhi hang]进程[jin cheng]时,进度条用系统[xi tong]突出显示[xian shi]颜色在水平栏中从左向右进行填充[tian chong]。进 程完成时,进度栏被填满。当某进程[jin cheng]运行[yun hang]时[yun hang shi]间[yun hang shi jian]较长时,如果没有视觉[shi jiao]提示[ti shi],用户[yong hu]可能会认为应用[ying yong]程序[ying yong cheng xu]不响 应,通过在应用[ying yong]程序[ying yong cheng xu]中使用进度条,就可以告诉用户[yong hu]应用[ying yong]程序[ying yong cheng xu]正在执行[zhi hang]冗长的任务[ren wu]且应用[ying yong]程序[ying yong cheng xu]仍在响应[xiang ying]。 ProgressBar控件的常用属性[shu xing]如下。 (1)Maximum 属性[shu xing]:用来设置[she zhi]或返回进度条能够显示[xian shi]的最大值,默认[mo ren]值为100。 (2)Minimum属性[shu xing]:用来设置[she zhi]或返回进度条能够显示[xian shi]的最小值,默认[mo ren]值为 0。 (3)Value属性[shu xing]:用来设置[she zhi]或返回进度条的当前位置[wei zhi]。 (4)Step属性[shu xing]:用来设置[she zhi]或返回一个值,该值用来决定每次调用[tiao yong] PerformStep 方法[fang fa]时, Value属性[shu xing]增加的 幅度。例如,如果要复制一组文件[wen jian],则可将 Step 属性[shu xing]的值设置[she zhi]为 1,并将 Maximum 属性[shu xing]的值设置[she zhi]为要复 制的文件[wen jian]总数。在复制每个文件[wen jian]时,可以调用[tiao yong]PerformStep方法[fang fa]按Step属性[shu xing]的值增加进度栏。 ProgressBar 控件的常用方法[fang fa]如下。 (1)Increment方法[fang fa]:用来按指定的数量增加进度条的值,调用[tiao yong]的一般格式如下: progressBar 对象[dui xiang].Increment(n); 其功能是把“progressBar对象[dui xiang]”指定的进度条对象[dui xiang]的Value属性[shu xing]值增加n,n为整数。调用[tiao yong]该方法[fang fa] 之后,若 Value属性[shu xing]大于Maximum属性[shu xing]的值,则 Value属性[shu xing]值就是Maximum值,若Value属性[shu xing]小于Minimum属性[shu xing] 值,则 Value属性[shu xing]值就是Minimum值。 (2)PerformStep方法[fang fa]:用来按step属性[shu xing]值来增加进度条的Value属性[shu xing]值,调用[tiao yong]的一般格式如下: progressBar对象[dui xiang].PerformStep(); 该方法[fang fa]无参数[can shu]。例如,下列程序段[cheng xu duan]是一个显示[xian shi]复制多个文件[wen jian]的进度的进度条使用方法[fang fa]。 privatevoidCopyWithProgress(string[]filenames) {pBar1.Visible=true; pBar1.Minimum=1; pBar1.Maximum=filenames.Length; pBar1.Value=1; pBar1.Step=1; for(intx=1;x<=filenames.Length;x++) {if(CopyFile(filenames[x-1])==true) { pBar1.PerformStep(); } } } ProgressBar控件能响应[xiang ying] 很多事件[shi jian],但一般很少使用。 2.TrackBar控件 TrackBar 控件又称[you cheng]滑块控件、跟踪[gen zong]条控件,它在工具箱[gong ju xiang]中的图标[tu biao]是“ ” 。该控件主要用于[yong yu]在 大量信息[xin xi]中进行浏览[liu lan],或用于[yong yu]以可视[ke shi]形式调整[tiao zheng]数字[shu zi]设置[she zhi]。TrackBar控件有两部分:缩略图[lue tu][suo lue tu](也称为滑块) 和刻度线。缩略图[lue tu][suo lue tu]是可以调整[tiao zheng]的部分,其位置[wei zhi]与 Value 属性[shu xing]相对应。刻度线是按规则间隔分隔的可视[ke shi]化[ke shi hua]指 示符。跟踪[gen zong]条控件可以按指定的增量移动,并且可以水平或者垂直排列[pai lie]。 TrackBar控件的常用属性[shu xing]如下。 (1)Maximum属性[shu xing]:用来获取或设置[she zhi]TrackBar控件可表示的范围[fan wei]上限,即最大值。 (2)Minimum属性[shu xing]:用来获取或设置[she zhi]TrackBar控件可表示的范围[fan wei]下限,即最小值。 (3)Orientation 属性[shu xing]:用来获取或设置[she zhi]一个值,该值指示[zhi shi]跟踪[gen zong]条是在水平方向还是在垂 直方向。 (4)LargeChange属性[shu xing]:用来获取或设置[she zhi]一个值,该值指示[zhi shi]当滑块长距离移动时应为Value属性[shu xing]中加上或 减去的值。 (5)SmallChange属性[shu xing]:用来获取或设置[she zhi]当滑块短距离移动时对Value属性[shu xing]进行增减的值。 (6)Value属性[shu xing]:用来获取或设置[she zhi]滑块在跟踪[gen zong]条控件上的当前位置[wei zhi]的值。 (7)TickFrequency 属性[shu xing]:用来获取或设置[she zhi]一个值,该值指定控件上绘制[hui zhi]的刻度之间的增量。 (8)TickStyle 属性[shu xing]:用来获取或设置[she zhi]一个值,该值指示[zhi shi]如何显示[xian shi]跟踪[gen zong]条上的刻度线。 TrackBar控件的常用事件[shi jian]是ValueChanged,该事件[shi jian]在 TrackBar控件的Value属性[shu xing]值改变时发生。 16、HScrollBar 控件和 VScrollBar控件的使用 滚动条[gun dong tiao](ScrollBar)是大部分Windows应用[ying yong]程序[ying yong cheng xu]中都具有的控件,是 Windows界面[jie mian]的 一种常见元素,通常分为水平滚动条[gun dong tiao](HscrollBar)和垂直滚动条[gun dong tiao](VscrollBar)。HScrollBar 在工具箱[gong ju xiang]中的图标[tu biao] 是,VScrollBar控件在工具箱[gong ju xiang]中的图标[tu biao]是。这两 个控件主要用于[yong yu]在应用[ying yong]程序[ying yong cheng xu]或控件中水平或垂直滚动,以方便在较长的列表[lie biao]中或大量信息[xin xi]中 转移。 1、常用属性[shu xing]: (1)Minimum和 Maximum属性[shu xing]:与TrackBar控件的同名属性[shu xing]基本相同。 (2)Value 属性[shu xing]:用于[yong yu]设置[she zhi]或返回滑块在滚动条[gun dong tiao]中所处的位置[wei zhi],其默认[mo ren]值为0。当滑块 的位置[wei zhi]值为最小值时,滑块移到水平滚动条[gun dong tiao]的最左端位置[wei zhi],或移到垂直滚动条[gun dong tiao] 的顶端位置[wei zhi]。 当滑块的位置[wei zhi]值为最大值时,滑块移到水平滚动条[gun dong tiao]的最右端位置[wei zhi]或垂直滚动条[gun dong tiao]的底端位置[wei zhi]。 (3)SmallChange和 LargeChange属性[shu xing]:这两个属性[shu xing]主要用于[yong yu]调整[tiao zheng]滑块移动的距离。其 中 SmallChange属性[shu xing]用于[yong yu]控制[kong zhi]当鼠标[shu biao]单击[dan ji]滚动条[gun dong tiao]两边的箭头时,滑块滚动的值,即 Value属性[shu xing] 增加或减小的值。而 LargeChange属性[shu xing]则控制[kong zhi]当用鼠标[shu biao]直接单击[dan ji]滚动条[gun dong tiao]时滑块滚动的值。当 用户[yong hu]按下PageUp键或PageDown键或者在滑块的任何一边单击[dan ji]滚动条[gun dong tiao]轨迹时,Value属性[shu xing]将 按照 LargeChange属性[shu xing]中设置[she zhi]的值进行增加或减小。 2、常用事件[shi jian]: (1)Scroll 事件[shi jian]:该事件[shi jian]在用户[yong hu]通过鼠标[shu biao]或键盘[jian pan]移动滑块后发生。 (2)ValueChanged事件[shi jian]:该事件[shi jian]在滚动条[gun dong tiao]控件的Value属性[shu xing]值改变时发生。 滚动条的使用方法[fang fa]与TrackBar控件基本一致,此处不再赘述。 对话框[dui hua kuang]类控件 17、 OpenFileDialog 控件 OpenFileDialog控件又称[you cheng]打开文件[wen jian]对话框[dui hua kuang],主要用来弹出Windows中标准的【打开文件[wen jian]】 对话框。该控件在工具箱[gong ju xiang]中的图标[tu biao]为 。 OpenFileDialog控件的常用属性[shu xing]如下。 (1)Title属性[shu xing]:用来获取或设置[she zhi]对话框[dui hua kuang] 标题,默认[mo ren]值为空字符[zi fu]串[zi fu chuan]("")。如果标题为空字符[zi fu]串[zi fu chuan],则系统[xi tong]将 使用默认[mo ren]标题: “打开” 。 (2)Filter属性[shu xing]:用来获取或设置[she zhi] 当前文件[wen jian]名[wen jian ming]筛选器字符[zi fu]串[zi fu chuan],该字符[zi fu]串[zi fu chuan]决定对话框[dui hua kuang]的【另存为文件[wen jian]类型[lei xing]】 或【文件[wen jian]类型[lei xing]】框中出现的选择[xuan ze]内容。对于每个筛选选项[xuan xiang],筛选器字符[zi fu]串[zi fu chuan]都包含筛选器说明[shuo ming]、垂直线条(|) 和筛选器模式[mo shi]。不同筛选选项[xuan xiang]的字符[zi fu]串[zi fu chuan]由垂直线条隔开,例如: “文本[wen ben]文件[wen jian](*.txt)|*.txt|所有文件[wen jian](*.*)|*.*” 。 还可以通过用分号来分隔各种文件[wen jian]类型[lei xing],可以将多个筛选器模式[mo shi]添加到筛选器中,例如: “图像[tu xiang]文件[wen jian] (*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG; *.GIF|所有文件[wen jian](*.*)|*.*” 。 (3)FilterIndex 属性[shu xing]:用来获取或设置[she zhi]文件[wen jian]对话框[dui hua kuang]中当前选定筛选器的索引[suo yin]。第一个筛选器的索引[suo yin]为1, 默认[mo ren]值为1。 (4)FileName 属性[shu xing]:用来获取在打开文件[wen jian]对话框[dui hua kuang]中选定的文件[wen jian]名[wen jian ming]的字符[zi fu]串[zi fu chuan]。文件[wen jian]名[wen jian ming]既包含文件[wen jian]路径[lu jing]也包 含扩展[kuo zhan]名。如果未选定文件[wen jian],该属性[shu xing]将返回空字符[zi fu]串[zi fu chuan]("")。 (5)InitialDirectory 属性[shu xing]:用来获取或设置[she zhi]文件[wen jian]对话框[dui hua kuang]显示[xian shi]的初始目录,默认[mo ren]值为空字符[zi fu]串[zi fu chuan]("")。 (6)ShowReadOnly属性[shu xing]:用来获取或设置[she zhi]一个值,该值指示[zhi shi]对话框[dui hua kuang]是否包含只读[zhi du]复选框。如果对话框[dui hua kuang]包 含只读[zhi du]复选框,则属性[shu xing]值为true,否则属性[shu xing]值为false。默认[mo ren]值为false。 (7)ReadOnlyChecked 属性[shu xing]:用来获取或设置[she zhi]一个值,该值指示[zhi shi]是否选定只读[zhi du]复选框。如果选中了只读[zhi du]复 选框,则属性[shu xing]值为true,反之,属性[shu xing]值为false。默认[mo ren]值为 false。 (8)Multiselect属性[shu xing]:用来获取或设置[she zhi]一个值,该值指示[zhi shi]对话框[dui hua kuang]是否允许选择[xuan ze]多个文件[wen jian]。如果对话框[dui hua kuang]允许 同时选定多个文件[wen jian],则该属性[shu xing]值为true,反之,属性[shu xing]值为false。默认[mo ren]值为false。 (9)FileNames属性[shu xing]:用来获取对话框[dui hua kuang]中所有选定文件的文件[wen jian]名[wen jian ming]。每个文件[wen jian]名[wen jian ming]都既包含文件[wen jian]路径[lu jing]又包含文 件扩展[kuo zhan]名。如果未选定文件[wen jian],该方法[fang fa]将返回空数组[shu zu]。 (10)RestoreDirectory 属性[shu xing]:用来获取或设置[she zhi]一个值,该值指示[zhi shi]对话框[dui hua kuang]在关闭前是否还原[hai yuan]当前目录[dang qian mu lu]。假设 用户[yong hu]在搜索[sou suo]文件[wen jian]的过程中更改了目录,且该属性[shu xing]值为 true,那么,对话框[dui hua kuang]会将当前目录[dang qian mu lu]还原[hai yuan]为初始值,若 该属性[shu xing]值为 false,则不还原[hai yuan]成初始值。默认[mo ren]值为 false。OpenFileDialog 控件的常用方法[fang fa]有两个:OpenFile 和 ShowDialog方法[fang fa],本节只介绍ShowDialog方法[fang fa],该方法[fang fa]的作用[zuo yong]是显示[xian shi]通用对话框[dui hua kuang],其一般调用[tiao yong]形式如 下: 通用对话框[dui hua kuang]对象[dui xiang] 名.ShowDialog(); 通用对话框[dui hua kuang]运行[yun hang]时[yun hang shi],如果单击[dan ji]对话框[dui hua kuang]中的【确定】按钮,则返回值为 DialogResult.OK;否则返回值为 DialogResult.Cancel。其他对话框[dui hua kuang]控件均具有ShowDialog方法[fang fa],以后不再重复介绍。 18、SaveFileDialog 控件 SaveFileDialog 控件又称[you cheng]保存文件[wen jian]对话框[dui hua kuang],主要用来弹出 Windows 中标准的【保存文件[wen jian]】对话框[dui hua kuang]。该控件 在工具箱[gong ju xiang]中的图标[tu biao]为 。 SaveFileDialog 控件也具有 FileName、Filter、FilterIndex、InitialDirectory、Title 等属性[shu xing],这些属性[shu xing]的作用[zuo yong] 与 OpenFileDialog对话框[dui hua kuang]控件基本一致,此处不再赘述。 需注意的是:上述两个对话框[dui hua kuang]只返回要打开或保存的文件[wen jian]名[wen jian ming],并没有真正提供打开或保存文件[wen jian]的功能,程 序员必须自己编写文件[wen jian]打开或保存程序,才能真正实现文件[wen jian]的打开和保存功能。 19、 FontDialog 控件 FontDialog控件又称[you cheng]字体[zi ti]对话框[dui hua kuang],主要用来弹出Windows中标准的【字体[zi ti]】对话框[dui hua kuang]。该控件在工具箱[gong ju xiang]中的 图标为 。字体[zi ti]对话框[dui hua kuang]的作用[zuo yong]是显示[xian shi]当前安装[an zhuang]在系统[xi tong]中的字体[zi ti]列表[lie biao],供用户[yong hu]进行选[hang xuan]择。下面 介绍字体[zi ti]对话框[dui hua kuang]的主要属性[shu xing]。 (1)Font属性[shu xing]:该属性[shu xing]是字体[zi ti]对话框[dui hua kuang]的最重要属性[shu xing],通过它可以设定或获取字体[zi ti]信息[xin xi]。 (2)Color属性[shu xing]:用来设定或获取字符[zi fu]的颜色。 (3)MaxSize 属性[shu xing]:用来获取或设置[she zhi]用户[yong hu]可选择[xuan ze]的最大磅值。 (4)MinSize属性[shu xing]:用来获取或设置[she zhi]用户[yong hu]可选择[xuan ze]的最小磅值。192Visualc#.NET 应用[ying yong]教程 (5)ShowColor属性[shu xing]:用来获取或设置[she zhi]一个值,该值指示[zhi shi]对话框[dui hua kuang]是否显示[xian shi]颜色选择[xuan ze]框。如果对话框[dui hua kuang]显示[xian shi]颜 色选择[xuan ze]框,属性[shu xing]值为true,反之,属性[shu xing]值为false。默认[mo ren]值为false。 (6)ShowEffects 属性[shu xing]:用来获取或设置[she zhi]一个值,该值指示[zhi shi]对话框[dui hua kuang]是否包含允许用户[yong hu]指定删除[shan chu]线、下划线 和文本[wen ben]颜色选项[xuan xiang]的控件。如果对话框[dui hua kuang]包含设置[she zhi]删除[shan chu]线、下划线和文本[wen ben] 颜色选项[xuan xiang]的控件,属性[shu xing]值为 true,反 之,属性[shu xing]值为false。默认[mo ren]值为true。 20、ColorDialog控件 ColorDialog 控件又称[you cheng]颜色对话框[dui hua kuang],主要用来弹出 Windows 中标准的【颜色】对话框[dui hua kuang]。该控件在工具箱[gong ju xiang]中 的图标[tu biao]为 。颜色对话框[dui hua kuang]的作用[zuo yong]是供用户[yong hu]选择[xuan ze]一种颜色,并用 Color 属性[shu xing]记录用户[yong hu]选择[xuan ze]- 18 - 的颜色值。下面介绍颜色对话框[dui hua kuang]的主要属性[shu xing]。 (1)AllowFullOpen属性[shu xing]:用来获取或设置[she zhi]一个值,该值指示[zhi shi]用户[yong hu]是否可以使用该对话框[dui hua kuang]定义自定义颜色。 如果允许用户[yong hu]自定义颜色,属性[shu xing]值为true,否则属性[shu xing]值为false。默认[mo ren]值为true。 (2)FullOpen 属性[shu xing]:用来获取或设置[she zhi]一个值,该值指示[zhi shi]用于[yong yu]创建自定义颜色的控件在对话框[dui hua kuang]打开时是否 可见。值为true时可见,值为 false时不可见。 (3)AnyColor 属性[shu xing]:用来获取或设置[she zhi]一个值,该值指示[zhi shi]对话框[dui hua kuang]是否显示[xian shi]基本颜色集[se ji]中可用的所有颜色。 值为 true时,显示[xian shi]所有颜色,否则不显示[xian shi]所有颜色。 (4)Color 属性[shu xing]:用来获取或设置[she zhi]用户[yong hu]选定的颜色。 21、PrintDialog控件和 PrintDocument 控件 PrintDialog 控件在工具箱[gong ju xiang]中的图标[tu biao]是 ,PrintDocument 控件在工具箱[gong ju xiang]中的图标[tu biao]是 。使用PrintDialog控件可以显示[xian shi]Windows标准的【打印】对话框[dui hua kuang],在该对话框[dui hua kuang]中用户[yong hu]可 以选择[xuan ze]打印机[da yin ji]、选择[xuan ze]要打印的页及页码范围[fan wei]等。需要注意的是:该对话框[dui hua kuang]并不负责具体的打印任务[ren wu],要想 在应用[ying yong]程序[ying yong cheng xu]中控制[kong zhi]打印内容必须使用 PrintDocument 控件。关于这两个控件的详细使用方法[fang fa]读者可参阅相 关资料或VisualC#的帮助文件[wen jian]。 6.用户[yong hu]自定义对话框[dui hua kuang] 除了可以使用Windows自带的标准对话框[dui hua kuang]外,用户[yong hu]还可以把自己设计的窗体[chuang ti]定义成对话框[dui hua kuang]。使用自定义对 话框有以下几个要点。 (1)将窗体[chuang ti]的FormBorderStyle属性[shu xing]值设置[she zhi]为FixedDialog。 (2)根据需要向窗体[chuang ti]上添加控件。 (3)使用窗体[chuang ti]的ShowDialog方法[fang fa]显示[xian shi]窗体[chuang ti],即显示[xian shi]出对话框[dui hua kuang]。 22、用户[yong hu]自定义对话框[dui hua kuang] 除了可以使用 Windows自带的标准对话框[dui hua kuang]外,用户[yong hu]还可以把自己设计的窗体[chuang ti]定义成对话框[dui hua kuang]。使用自定义对 话框有以下几个要点。 (1)将窗体[chuang ti]的 FormBorderStyle属性[shu xing]值设置[she zhi]为FixedDialog。 (2)根据需要向窗体[chuang ti]上添加控件。 (3)使用窗体[chuang ti]的 ShowDialog方法[fang fa]显示[xian shi]窗体[chuang ti],即显示[xian shi]出对话框[dui hua kuang]。 23、菜单[cai dan]控件 Windows 的菜单[cai dan]系统[xi tong]是图形[tu xing]用户[yong hu]界面[jie mian][yong hu jie mian][tu xing yong hu jie mian](GUI)的重要组成之一,在 VisualC#中使用 MainMenu 控件可以很 方便地实现Windows的菜单,MainMenu控件在工具箱[gong ju xiang]中的图标[tu biao]为 。 1.菜单[cai dan]的结构[jie gou] 图 10-9和图10-10 是典型的菜单[cai dan]结构[jie gou]。其中有文字[wen zi]的单个命令[ming ling]称菜单[cai dan]项,顶层菜单[cai dan]项是横着排列[pai lie]的,单击[dan ji] 某个菜单[cai dan]项后弹出的称为菜单[cai dan]或子菜单[cai dan],它们均包含若干个菜单[cai dan]项,菜单[cai dan]项其实是 MenuItem 类的一个对 象。菜单[cai dan]项有的是变灰显示[xian shi]的,表示该菜单[cai dan]项当前是被禁止使用的。有的菜单[cai dan]项的提示[ti shi]文字[wen zi]中有带下划线 的字母,该字母称为热键(或访问键),若是顶层菜单[cai dan],可通过按“ALT+热键”打开该菜单[cai dan],若是某个子 菜单[cai dan]中的一个选项[xuan xiang],则在打开子菜单[cai dan]后直接按热键就会执行[zhi hang]相应的菜单[cai dan]命令[ming ling]。有的菜单[cai dan]项后面有一个按键 或组合[zu he]键,称快捷键,在不打开菜单[cai dan]的情况[qing kuang]下按快捷键,将执行[zhi hang]相应的命令[ming ling]。在图 10-9 中,【保存文件[wen jian]】 菜单[cai dan]项是加粗显示[xian shi]的,该菜单[cai dan]项称为默认[mo ren]项。图10-9的【另存为】和【退出[tui chu]】之间有一个灰色的线条,该 线条称为分隔线或[xian huo] 分隔符。在图 10-10 中菜单[cai dan]项【白色背景】前面有一个“√”号,称为选中标记[biao ji],菜单[cai dan] 项加上选中标记[biao ji]表示该菜单[cai dan]项代表的功能当前正在起作用[zuo yong]。 2.菜单[cai dan]项的常用属性[shu xing] (1)Text 属性[shu xing]:用来获取或设置[she zhi]一个值,通过该值指示[zhi shi]菜单[cai dan]项标题。当使用 Text 属性[shu xing]为菜单[cai dan]项指定标题 时,还可以在字符[zi fu]前加一个“&”号来指定热键(访问键,即加下划线的字母)。例如,若要将“File”中 的 “F”指定为访问键,应将菜单[cai dan]项的标题指定为“&File” 。 (2)Checked属性[shu xing]:用来获取或设置[she zhi]一个值,通过该值指示[zhi shi]选中标记是否出现在菜单[cai dan]项文本[wen ben]的旁边。如果 要放置选中标记[biao ji]在菜单[cai dan]项文本[wen ben]的旁边,属性[shu xing]值为true,否则属性[shu xing]值为false。默认[mo ren]值为false。 (3)DefaultItem 属性[shu xing]:用来获取或设置[she zhi]一个值,通过该值指示[zhi shi]菜单[cai dan]项是否为默认[mo ren]菜单[cai dan]项。值为 true 时, 是默认[mo ren]菜单[cai dan]项,值为 false时,不是默认[mo ren]菜单[cai dan]项。菜单[cai dan]的默认[mo ren]菜单[cai dan]项以粗体的形式显示[xian shi]。当用户[yong hu]双击[shuang ji]包含默 认项的子菜单[cai dan]后,默认[mo ren]项被选定,然后子菜单[cai dan]关闭。 (4)Enabled 属性[shu xing]:用来获取或设置[she zhi]一个值,通过该值指示[zhi shi]菜单[cai dan]项是否可用。值为true时表示可用,值为 false表示当前禁止使用。 (5)RadioCheck 属性[shu xing]:用来获取或设置[she zhi]一个值,通过该值指示[zhi shi]选中的菜单[cai dan]项的左边是显示[xian shi]单选按钮[dan xuan an niu]还是 选中标记[biao ji]。值为true时将显示[xian shi]单选按钮[dan xuan an niu]标记[biao ji],值为false 时显示[xian shi]选中标记[biao ji]。 (6)Shortcut属性[shu xing]:用来获取或设置[she zhi]一个值,该值指示[zhi shi]与菜单[cai dan]项相关联的快捷键。 (7)ShowShortcut 属性[shu xing]:用来获取或设置[she zhi]一个值,该值指示[zhi shi]与菜单[cai dan]项关联的快捷键是否在菜单[cai dan]项标题的 旁边显示[xian shi]。如果快捷组合[zu he]键在菜单[cai dan]项标题的旁边显示[xian shi],该属性[shu xing]值为 true,如果不显示[xian shi]快捷键,该属性[shu xing]值为 false。默认[mo ren]值为true。 (8)MdiList属性[shu xing]:用来获取或设置[she zhi]一个值,通过该值指示是否用在关联窗体[chuang ti]内显示[xian shi]的多文档[wen dang]界面[jie mian](MDI) 子窗口[chuang kou][zi chuang kou]列表[lie biao]来填充[tian chong]菜单[cai dan]项。若要在该菜单[cai dan]项中显示[xian shi]MDI子窗口[chuang kou][zi chuang kou]列表[lie biao],则设置[she zhi]该属性[shu xing]值为true,否则设置[she zhi]该 属性[shu xing]的值为false。默认[mo ren]值为false。 3.菜单[cai dan]项的常用事件[shi jian] 菜单[cai dan]项的常用事件[shi jian]主要有Click事件[shi jian],该事件[shi jian]在用户[yong hu]单击[dan ji]菜单[cai dan]项时发生。 24、多窗体[chuang ti]程序设计[cheng xu she ji] Windows应用[ying yong]程序[ying yong cheng xu]很少只由一个窗体[chuang ti]组成, 一 般情况[qing kuang]下一个应用[ying yong]程序[ying yong cheng xu]均拥有很多个窗体[chuang ti]。 C#项目[xiang mu]刚建立时只有一个名为Form1的窗体[chuang ti], 要建立多窗体[chuang ti]应用[ying yong]程序[ying yong cheng xu]应首先为项目[xiang mu]添加窗 体,添加窗体[chuang ti]的方法[fang fa]如下。 (1) 单击[dan ji]工具栏上的按钮 或执行[zhi hang]【项 目】→【添加Windows窗体[chuang ti]】命令[ming ling], 将会出现如图 10-17 所示的【添加新 项】对话框[dui hua kuang]。 (2) 在该对话框[dui hua kuang]的【模板】下面的列表[lie biao]框中 选中【Windows 窗体[chuang ti]】图标[tu biao],在【名称】文本[wen ben]框中输 入窗体[chuang ti]名,然后单击[dan ji]【打开】按钮,即为应用[ying yong]程序[ying yong cheng xu]添加了一个窗体[chuang ti]。 25、MDI 应用[ying yong]程序[ying yong cheng xu]设计[cheng xu she ji] 1.MDI 应用[ying yong]程序[ying yong cheng xu]的概念 在前面的章节中,所创建的都是单文档[wen dang]界面[jie mian](SDI)应用[ying yong]程序[ying yong cheng xu]。这样的程序(如记事本和画图程序)仅支 持一次打开一个窗口[chuang kou] 或文档[wen dang]。如果需要编辑多个文档[wen dang],必须创建SDI应用[ying yong]程序[ying yong cheng xu]的多个实例。而使用多文档[wen dang] 界面[jie mian](MDI)程序(如Word和 AdobePhotoshop)时,用户[yong hu]可以同时编辑多个文档[wen dang]。MDI程序中的应用[ying yong]程 序窗口[chuang kou]称为父窗口[chuang kou],应用[ying yong]程序[ying yong cheng xu]内部的窗口[chuang kou]称为子窗口[chuang kou][zi chuang kou]。虽 然 MDI应用[ying yong]程序[ying yong cheng xu]可以具有多个子窗口[chuang kou][zi chuang kou], 但是每个子窗口[chuang kou][zi chuang kou]却 只能有一个父窗口[chuang kou]。此外,处于活动状态[zhuang tai][huo dong zhuang tai]的子窗口[chuang kou][zi chuang kou]最大数 目是 1。子窗口[chuang kou][zi chuang kou]本身不能再成为父窗口[chuang kou],而且不能移动到 它们的父窗口[chuang kou]区域[qu yu]之外。除此以外,子窗口[chuang kou][zi chuang kou]的行为与任何 其他窗口[chuang kou]一样(如可以关闭、最小化和调整[tiao zheng]大小等)。一个 子窗口[chuang kou][zi chuang kou]在功能上可能与父窗口[chuang kou]的其他子窗口[chuang kou][zi chuang kou]不同,例如, 一个子窗口[chuang kou][zi chuang kou]可能用于[yong yu]编辑图像[tu xiang],另一个子窗口[chuang kou][zi chuang kou]可能用于[yong yu]编 辑文本[wen ben],第 3 个子窗口[chuang kou][zi chuang kou]可以使用图形[tu xing]来显示[xian shi]数据[shu ju],但是所 有的窗口[chuang kou]都属于相同的MDI父窗口[chuang kou]。图 10-19 是一个典型 的 MDI应用[ying yong]程序[ying yong cheng xu]。外面的窗口[chuang kou]是应用[ying yong]程序[ying yong cheng xu]窗口[chuang kou],里面的两 个小窗口[chuang kou]是 MDI子窗口[chuang kou][zi chuang kou]。 2.与 MDI应用[ying yong]程序[ying yong cheng xu]设计[cheng xu she ji]有关的属性[shu xing]、方法[fang fa]和事件[shi jian] 常用的MDI父窗体[chuang ti]属性[shu xing]如下。 (1)ActiveMdiChild属性[shu xing]:该属性[shu xing]用来表示当前活动的MDI子窗口[chuang kou][zi chuang kou],如果当前没有子窗口[chuang kou][zi chuang kou],则返回 null。 (2)IsMdiContainer属性[shu xing]:该属性[shu xing]用来获取或设置[she zhi]一个值,该值指示[zhi shi]窗体[chuang ti]是否为多文档[wen dang]界面[jie mian](MDI)子窗 体的容器,即MDI父窗体[chuang ti]。值为true时,表示是父窗体[chuang ti],值为false时,表示不是父窗体[chuang ti]。 (3)MdiChildren属性[shu xing]:该属性[shu xing]以窗体[chuang ti]数组[shu zu] 形式返回MDI子窗体[chuang ti],每个数组[shu zu]元素对应一个 MDI子窗体[chuang ti]。 常用的MDI子窗体[chuang ti]的属性[shu xing]有: (1)IsMdiChild属性[shu xing]:该属性[shu xing] 用来获取一个值,该值指示[zhi shi]该窗体[chuang ti]是否为多文档[wen dang]界面[jie mian](MDI)的子窗体[chuang ti]。值 为 true时,表示是子窗体[chuang ti],值为false时,表示不是子窗体[chuang ti]。 (2)MdiParent 属性[shu xing]:该属性[shu xing]用来指定该子窗体[chuang ti]的MDI父窗体[chuang ti]。与MDI应用[ying yong]程序[ying yong cheng xu]设计[cheng xu she ji]有关的方法[fang fa]中,一 般只使用父窗体[chuang ti]的LayoutMdi方法[fang fa],该方法[fang fa]的调用[tiao yong]格式如下: MDI父窗体[chuang ti]名.LayoutMdi(Value); 该方法[fang fa]用来在MDI父窗体[chuang ti]中排列[pai lie]MDI子窗体[chuang ti],以便导航[dao hang]和操作MDI子窗体。参数[can shu]Value决定排列[pai lie]方式, 取值有:MdiLayout.ArrangeIcons(所有 MDI 子窗体[chuang ti]以图标[tu biao]的形式排列[pai lie]在 MDI 父窗体[chuang ti]的工作区[gong zuo qu]内)、 MdiLayout.TileHorizontal (所有MDI子窗口[chuang kou][zi chuang kou]均水平平铺在MDI父窗体[chuang ti]的工作区[gong zuo qu]内)、 MdiLayout.TileVertical (所有 MDI 子窗口[chuang kou][zi chuang kou]均垂直平铺在 MDI 父窗体[chuang ti]的工作区[gong zuo qu]内)和 MdiLayout.Cascade(所有 MDI 子窗口[chuang kou][zi chuang kou]均层 叠在 MDI 父窗体[chuang ti]的工作区[gong zuo qu]内)。常用的 MDI 父窗体[chuang ti]的事件[shi jian]是 MdiChildActivate,当激活[ji huo]或关闭一个 MDI 子窗体[chuang ti]时将发生该事件[shi jian]。 3.菜单[cai dan]合并 父窗体[chuang ti]和子窗体[chuang ti]可以使用不同的菜单[cai dan],这些菜单[cai dan]会在选择[xuan ze]子窗体[chuang ti]的时候合并。如果需要指定菜单[cai dan]的合并方 式,程序员[cheng xu yuan]可以设置[she zhi]每个菜单[cai dan]项的MergeOrder属性[shu xing]和 MergeType属性[shu xing]。 (1)MergeOrder属性[shu xing]:用来确定当两个菜单[cai dan]合并时菜单[cai dan]项出现的顺序,具有较低 MergeOrder 的菜单[cai dan]项会首先出现。 (2)MergeType属性[shu xing]:当合并的两个菜单[cai dan]的某些菜单[cai dan]项的MergeOrder属性[shu xing]值相等时, 使用该属性[shu xing] 可以控制[kong zhi]这些菜单[cai dan]项的显示[xian shi]方式[xian shi fang shi]。其取值及含义如表10-4所示。 26、键盘[jian pan]事件[shi jian]处理[shi jian chu li] 键盘[jian pan]事件[shi jian]在用户[yong hu]按下键盘[jian pan]上的键时发生,可分为两类。第一类是KeyPress事件[shi jian],当按下的键表示的是一个 ASCII 字符[zi fu]时就会触发这类事件[shi jian],可通过它的 KeyPressEventArgs 类型[lei xing]参数[can shu][lei xing can shu]的属性[shu xing] KeyChar 来确定按下键 的 ASCII 码。使用 KeyPress 事件[shi jian]无法判断是否按下了修改[xiu gai]键(例如 Shift,Alt 和 Ctrl 键),为了判断这些 动作, 就要处理KeyUp 或KeyDown事件[shi jian], 这些事件[shi jian]组成了第二类键盘[jian pan]事件[shi jian]。 该类事件[shi jian]有一个KeyEventArgs 类型[lei xing]的参数[can shu],通过该参数[can shu]可以测试是否按下了一些修改[xiu gai]键、功能键等特殊按键信息[xin xi]。 1.KeyPressEventArgs类的主要属性[shu xing](KeyPress事件[shi jian]的一个参数[can shu]类型[lei xing]) (1)Handled 属性[shu xing]:用来获取或设置[she zhi]一个值,该值指示[zhi shi]是否处理过KeyPress事件[shi jian]。 (2)KeyChar属性[shu xing]:用来获取按下的键对应的字符[zi fu],通常是该键的 ASCII码。 2.KeyEventArgs类的主要属性[shu xing](KeyUp和 KeyDown事件[shi jian]的一个参数[can shu]) (1)Alt属性[shu xing]:用来获取一个值,该值指示[zhi shi]是否曾按下Alt键。 (2)Control属性[shu xing]:用来获取一个值,该值指示[zhi shi]是否曾按下Ctrl键。 (3)Shift 属性[shu xing]:用来获取一个值,该值指示[zhi shi]是否曾按下Shift键。 (4)Handled属性[shu xing]:用来获取或设置[she zhi]一个值,该值指示[zhi shi]是否处理过此事件[shi jian]。 (5)KeyCode 属性[shu xing]:以 Keys枚举[mei ju]型值返回键盘[jian pan]键的键码[jian ma],该属性[shu xing]不包含修改[xiu gai]键(Alt、Control和 Shift键) 信息[xin xi],用于[yong yu]测试指定的键盘[jian pan]键。 (6)KeyData 属性[shu xing]:以 Keys 枚举[mei ju]类型[lei xing]值返回键盘[jian pan]键的键码[jian ma],并包含修改[xiu gai]键信息[xin xi],用于[yong yu]判断关于按下键盘[jian pan] 键的所有信息[xin xi]。 (7)KeyValue属性:以整数形式返回键码[jian ma],而不是Keys枚举[mei ju]类型[lei xing]值。用于[yong yu]获得所按下键盘[jian pan]键的数字[shu zi]表示。 (8)Modifiers 属性[shu xing]:以 Keys 枚举[mei ju]类型[lei xing]值返回所有按下的修改[xiu gai]键(Alt、Control 和 Shift 键),仅用于[yong yu]判断 修改[xiu gai]键信息[xin xi]。 27、鼠标[shu biao]事件[shi jian]处理[shi jian chu li] 对鼠标[shu biao]操作的处理是应用[ying yong]程序[ying yong cheng xu]的重要功能之一,在VisualC#中有一些与鼠标[shu biao]操作相关的事件[shi jian],利用它们可 以方便地进行与鼠标[shu biao]有关的编程[bian cheng]。 (1)MouseEnter 事件[shi jian]:在鼠标[shu biao]指针[zhi zhen]进入控件时发生。 (2)MouseMove事件[shi jian]:在鼠标[shu biao]指针[zhi zhen]移到控件上时发生。事件[shi jian]处理[shi jian chu li]程序接收一个 MouseEventArgs类型[lei xing]的参 数,该参数[can shu]包含与此事件[shi jian]相关的数据[shu ju]。该参数[can shu]的主要属性[shu xing]及其含义如下。 Button属性[shu xing]:用来获取曾按下的是哪个鼠标[shu biao]按钮。该属性[shu xing]是MouseButtons枚举[mei ju]型的值, 取值及含义如下:Left(按下鼠标[shu biao]左按钮)、Middle(按下鼠标[shu biao] 中按钮)、Right(鼠标[shu biao]右按钮)、None(没 有按下鼠标[shu biao]按钮)、 XButton1 (按下了第一个XButton按钮, 仅用于[yong yu]Microsoft智能[zhi neng]鼠标[shu biao]浏览[liu lan]器[liu lan qi]) 和XButton2 (按下了第二个XButton按钮,仅用于[yong yu] Microsoft智能[zhi neng]鼠标[shu biao]浏览[liu lan]器[liu lan qi]) Clicks属性[shu xing]:用来获取按下并释放[shi fang]鼠标[shu biao]按钮的次数。 Delta属性[shu xing]:用来获取鼠标[shu biao]轮已转动的制动器数的有符号计数。制动器是鼠标[shu biao]轮的一个凹口。 X 属性[shu xing]:用来获取鼠标[shu biao]所在位置[wei zhi]的x坐标。 Y 属性[shu xing]:用来获取鼠标[shu biao]所在位置[wei zhi]的y坐标。 (3)MouseHover事件[shi jian]:当鼠标[shu biao]指针[zhi zhen]悬停在控件上时将发生该事件[shi jian]。 (4)MouseDown 事件[shi jian]:当鼠标[shu biao]指针[zhi zhen]位于控件上并按下鼠标[shu biao]键时将发生该事件[shi jian]。事件[shi jian]处理[shi jian chu li]程序也接收一个 MouseEventArgs类型[lei xing]的参数[can shu]。 (5)MouseWheel 事件[shi jian]:在移动鼠标[shu biao]轮并且控件有焦点时将发生该事件[shi jian]。该事件[shi jian]的事件[shi jian]处理[shi jian chu li]程序接收一个 MouseEventArgs类型[lei xing]的参数[can shu] (6)MouseUp 事件[shi jian]:当鼠标[shu biao]指针[zhi zhen]在控件上并释放[shi fang]鼠标[shu biao]键时将发生该事件[shi jian]。事件[shi jian]处理[shi jian chu li]程序也接收一个 MouseEventArgs类型[lei xing]的参数[can shu]。 (7)MouseLeave事件[shi jian]:在鼠标[shu biao]指针[zhi zhen]离开控件时将发生该事件[shi jian]

C#_C#控件及常用设计整理相关推荐

  1. scenebuilder各控件属性介绍_C#控件及常用设计整理(三)

    C#控件及常用设计整理(三) 12.CheckedListBox 控件 CheckedListBox控件又称复选列表框,它扩展了ListBox控件,它几乎能完成列表框可以完成的所有任务,并且还可以在列 ...

  2. C#控件及常用属性整理

    C#控件一览表 前所未有的震撼(太详细了) 1.窗体 1.常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体. (2) WindowState属性: 用来 ...

  3. C#控件及常用设计整

    1.窗体... 1 2.Label 控件... 3 3.TextBox 控件... 4 4.RichTextBox控件... 5 5.NumericUpDown 控件... 7 6.Button 控件 ...

  4. C#控件常用设计整理大全

    1.常用属性  (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体. (2)WindowState属性:用来获取或设置窗体的窗口状态. 取值有三种: Normal ...

  5. (转)WinForm控件使用文章收藏整理完成

    http://home.cnblogs.com/group/topic/29829.html 对C# WinForm开发系列收集的控件使用方面进行整理, 加入了一些文章, 不断补充充实, 完善这方面. ...

  6. 布局与控件(一)——布局与控件的常用概念

    第1节 布局与控件的常用概念 界面设计中的控件,就是我们常常看到的按钮 滑动条 文字显示区等等,它们就像房间里的家具,是界面设计的最小单位. 布局是一个可以容纳别的布局(或者控件)的容器.它就像是一个 ...

  7. WinForm控件使用文章收藏整理完成

    对C# WinForm开发系列收集的控件使用方面进行整理, 加入了一些文章, 不断补充充实, 完善这方面. 基础 - 常用控件 C# WinForm开发系列 - CheckBox/Button/Lab ...

  8. android button 属性,两行显示数字,前面各有图像,Android_2_常用控件及常用属性

    安卓常用控件及其常用属性 TextView android:id 这是唯一地标识控件的ID. android:capitalize 如果设置,指定该TextView中有一个文本输入法 会自动利用什么类 ...

  9. Android_2_常用控件及常用属性

    安卓常用控件及其常用属性 TextView android:id 这是唯一地标识控件的ID. android:capitalize 如果设置,指定该TextView中有一个文本输入法 会自动利用什么类 ...

最新文章

  1. Python 定时任务框架 APScheduler
  2. android studio怎样运行uniapp打包项目_uni app系列002:离线打包apk(2)
  3. 4.6 Kaggle房价预测
  4. python if 跳出_Python保留字简单释义
  5. pip镜像源+修改linux配置用永久生效
  6. Vue「六」前端路由、vue-router
  7. 报表下拉框多选查询及一般在sql中添加查询条件
  8. tpc三次握手与四次挥手
  9. Java实现首字母转大写、小写StringUtils.capitalize
  10. linux下latex使用教程,LaTeX使用--XeLaTeX入门基础(二)
  11. MATLAB构造向量
  12. SCI 投稿全过程信件模板一览
  13. 解析几何----双曲线左支极坐标方程
  14. 36个助你成为专家需要掌握的JavaScript概念
  15. 面试通过后如何拒绝HR拿offer
  16. 视频压缩编码基本原理
  17. Java+SSM酒店管理系统旅店管理(含源码+论文+答辩PPT等)
  18. 写技术文章也挺好的,虽然没有多少人看
  19. Halo博客网站添加天气插件
  20. 服务器上iis网站打不开,IIS网站打不开的原因和解决办法

热门文章

  1. 亚马逊无货源的优势是什么
  2. 简述计算机系统软件和应用软件的基本定义,软件应用技术基础
  3. Gitee 配置公钥私钥
  4. fastran实例 -- 机翼静气弹分析
  5. 【python面向对象】类和对象(一)
  6. python gui按顺序显示图片_python tkinter GUI绘制,以及点击更新显示图片代码
  7. 蔚来即将二次上市 车企跨界排头兵或将再添一员?
  8. 【编程实践】代码之中有创意:“我一直认为工程师世界上最具创造性的工作之一”
  9. 山东春秀高考计算机本科录取率,2020年山东高考本科录取率突破50%
  10. 山东春考计算机专业本科上线多少人,山东省春季高考信息技术专业分析