C#windows 窗体控件库窗体应用程序设计中,想通过一个窗体中的一个按钮的单击事件,把该窗体的textBox的文本添加到另一

求助:我想在C#中设计窗体时,利用一个button按钮的click事件来显示另一个窗体,代码如下_百度知道
求助:我想在C#中设计窗体时,利用一个button按钮的click事件来显示另一个窗体,代码如下
但是运行后,点击button按钮后,出现下面的情况,是什么原因啊?求助
我有更好的答案
的Form2这个是窗体!!还有 ,你既然抛出了一个异常?你的Form2只是一个类,不是窗体,但是你又不去处理他
初学者,好困难。那显示出来的窗体该怎么设计呢?
你右击工程,选择添加,然后在弹出的界面里面选择Windows窗体,创建一个就是,你应该有资料的吧,多学习学习
采纳率:71%
你应该在button按钮上双击,并写入,而不是其他地方双击
Form2类没有继承class Form2:Form调用不用NEW了直接show
为您推荐:
其他类似问题
click事件的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。C#窗体程序中单击Button控件,音乐响起_百度知道
C#窗体程序中单击Button控件,音乐响起
请求详细代码
我有更好的答案
Smusic&#92:\music\happy.mp3&quot.mp3&;player.Play();music&#92.SoundPlayer player = new System.mp3&.Load();异步播放: System.Media.SoundPlayer player = new System.Media.SoundPlayer();player。同步播放: System.Media.SoundPlayer player = new System.Media.SoundPlayer();player.PlaySync();循环播放.M;player利用.PlayLooping().Media.SoundPlayer();happy.SoundLocation = @&d:\player.Load();player.LoadAsync();player,也支持文件和流播放;d.NET自带的类库SoundPlayer来播放音乐,此类在System.Media命名空间中;player.SoundLocation = @&quot.SoundLocation = @&d:&#92,支持同步和异步播放
采纳率:69%
&&&winmm&)]&public&static&extern&bool&PlaySound(string&szSound,&IntPtr&hMod.SND_ASYNC);<file fsid="" link="/share/&&&0x,&&&&&&&&&&&&SND_FILENAME&=&SND_SYNC&0x,&&&&&&&&&&&&SND_RESOURCE&=&,IntP&0x0001,&&&&&&&&&&&&SND_NODEFAULT&=&0x0000;&&&PlaySoundFlags&&&&&&&&&路径&quot.Zero,PlaySoundFlags使用微软的winmm.dll播放音乐把dll加载到项目中;&&&&&SND_NOWAIT&&&&&&&&&SND_LOOP&&=&0x0002;&&&=&0x0004;&nbsp,&&nbsp,public&enum&PlaySoundFlags&;&&&&0x}&[DllImport(&&&&&SND_NOSTOP&&&SND_MEMORY&nbsp:&&&&nbsp,&nbsp,&&nbsp,&&flags);&//点击按钮时候;&&&nbsp:PlaySound(&&&&&&&SND_ALIAS&=&0x,&&&&&&&&&&&&SND_ALIAS_ID&=&&SND_ASYNC&=&&=&0x0008;&nbsp,&&&nbsp,调用PlaySound方法即可&//参数1:要播放的音乐路径&//例如,&&&&&&=&0x0010;&=&0x;&nbsp,&int{&&&&&nbsp
麻烦问一下,如何加载winmm.dll?是把winmm.dll放在某个文件下么?[DllImport(&winmm&)]这个语句该如何使用?
winmm.dll放在程序根目录就行通过DllImport特性的使用,导出dll中的方法添加引用可以加载dll
为您推荐:
其他类似问题
button控件的相关知识
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
C# Windows窗体应用程序设计.ppt 34页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
&#xe600;下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:160 &&
你可能关注的文档:
··········
··········
C# Windows窗体应用程序
设计 教学目标
本章介绍一些最常用的基本控件,Visual Studio 2005附带有许多控件,这些控件拥有各种功能,通过Visual Studio的设计功能,开发用户界面、处理用户的交互将非常简单、有趣。通过本章的学习,读者应掌握Windows应用程序开发的基本流程和技巧,掌握常用控件的使用,并且能够使用参考帮助系统学会本书没有介绍的Windows窗体控件。
Windows窗体
Windows基本控件
System.Windows.Forms.MessageBox使用 创建Windows应用程序
6.1窗体对象
6.1.1创建空白窗体
6.1.1创建空白窗体
6.1.2控件的公有属性、事件和方法
6.1.2控件的公有属性、事件和方法
6.1.2控件的公有属性、事件和方法
6.1.2控件的公有属性、事件和方法
6.1.2控件的公有属性、事件和方法
6.1.2控件的公有属性、事件和方法
6.2控件对象介绍
6.2.1 Label和LinkLabel控件 Label控件
Label是标准的Windows标签,主要用于在窗体上显示文本。通常情况下不需要为它添加任何事件处理代码。
LinkLable控件
LinkLabel类似于Label控件,但它以Internet链接的方式显示(超链接)。 Label与LinkLabel的属性
Label与LinkLabel的属性 6.2.2 Button控件 Button控件的属性 : Name属性:设置按钮的名称 ,以便在程序中引用它。 Text属性:设置在按钮上显示的标题文本。
Visible属性:设置是否显示按钮,true显示,false隐藏。 Enabled属性:设置按钮是否可用,当设置为false时,按钮不响应任何事件。
FlatStyle属性:设置按钮的显示样式。
Image属性:用于指定一个在按钮上显示的图像。 ImageAlign属性:设置图像在按钮上的对齐方式。
Button控件的事件 : 按钮最常用的事件是Click。只要用户单击了按钮就会触该事件。
6.2.3 TextBox控件
TextBox控件
文本框的主要用途是接受用户输入。用户可以在文本框中输入任何字符,也可以只允许用户输入指定类型的字符,例如,只允许用户在文本框中输入数值等。
TextBox控件的常见的属性如表6-6所示。
TextBox控件提供了表6-7所示的事件 。 表6-6 :TextBox控件的常见的属性 表6-7: TextBox控件的常见事件 6.2.4 RadioButton和CheckBox控件
RadioButton控件
RadioButton控件一般成组出现,用于从多种功能中选择一种功能的情况,其最常用的事件是CheckChanged和Click事件。
CheckBox控件
CheckBox控件列出了可供选择的选项,用户可以从中选择一项或多项。当选中某项后,其左边的小方框会打上勾标志;当Checked属性改变时触发CheckChanged事件。
GroupBox控件
GroupBox控件主要用于为单选按钮和复选框控件进行分组,以便于用户识别。在窗体上创建该控件时,可先建立GroupBox控件然后在其内部建立其他控件;也可利用剪切、粘贴的方法把已有的控件放到GroupBox控件中。
示例:Ex6-2 6.2.5 RichTextBox控件
RichTextBox控件
RichTextBox多用于显示和输入格式化的文本(例如,黑体、下划线和斜体)。RichTextBox使用标准的格式化文本,称为Rich Text Format (富文本格式)或 RTF。
示例:Ex6-3 6.2.6 ListBox和CheckedListBox控件
列表框用于显示一组字符串,可以一次从中选择一个或多个选项。 ListBox类派生于ListControl类。 ListControl类提供了.NET Framework内置列表类型控件的基本功能。 CheckedListBox,派生于ListBox类。它提供的列表类似于ListBox,但除了文本字符串以外,每个列表选项还附带一个复选框标记。
列表框的属性 列表框控件的方法与事件 6.2.7 TabControl控件
TabControl控件
标签控件,可以在控件的TabPages对象集合中添加任意数量的标签,再把要显示的控件拖放到各个页面上。TabControl控件的使用主要通过设置属性来实现,一般不必为它编写事件代码。
TabControl的属性
正在加载中,请稍后...当前位置: >>
第08章 Windows窗体应用程序设计
C#程序设计教程 程序设计教程第08章 Windows窗体 章 窗体 应用程序设计 本章重点? ? ? ? 窗体设计 常用的控件设计 多文档窗体 窗体设计的事件机制2 窗体设计? 窗体(Form)是一个窗口或对话框,是存 窗体( )是一个窗口或对话框, 放各种控件(包括标签、文本框、 放各种控件(包括标签、文本框、命令按 钮等)的容器, 钮等)的容器,可用来向用户显示信息 ? 创建 创建Windows窗体应用程序的过程 窗体应用程序的过程C 添加一个窗体的操作步骤是? 选择“项目” “添加 选择“项目” 添加Windows窗体”菜单命令, 窗体” 窗体 菜单命令, 添加新项”对话框中,选中“ 在出现的 “添加新项”对话框中,选中“Windows 窗体” 输入相应的名称,单击“添加” 窗体”,输入相应的名称,单击“添加”按钮C 一个 一个Windows应用程序可以包含多个窗体 应用程序可以包含多个窗体3 窗体类型? 在C#中,窗体分为如下两种类型: 中 窗体分为如下两种类型:C 普通窗体,也称为单文档窗体(SDI),普通 普通窗体,也称为单文档窗体( ),普通 ), 窗体又分为如下两种? 模式窗体。这类窗体在屏幕上显示后用户必须响应, 模式窗体。这类窗体在屏幕上显示后用户必须响应, 只有在它关闭后才能操作其他窗体或程序 ? 无模式窗体。这类窗体在屏幕上显示后用户可以不 无模式窗体。 必响应,可以随意切换到其他窗体或程序进行操作。 必响应,可以随意切换到其他窗体或程序进行操作。 通常情况下,当建立新的窗体时, 通常情况下,当建立新的窗体时,都默认设置为无 模式窗体C MDI父窗体,即多文档窗体,其中可以放置普 父窗体,即多文档窗体, 父窗体 通子窗体4 窗体的常用属性10-1 窗体的常用属性? 布局属性C Location? 获取或设置窗体左上角在屏幕上的坐标 ? 有X和Y两个值,默认值(0, 0) 和 两个值,默认值 两个值C Size? 获取或设置窗体大小 ? 有Height和width两个值 和 两个值5 窗体的常用属性10-2 窗体的常用属性C StartPosition? 获取或设置运行时窗体的起始位置 ? 取值为如下之一C Manual ? 窗体的位置由 窗体的位置由Location属性确定 属性确定 C CenterScreen ? 窗体在当前屏幕中居中,其尺寸由 窗体在当前屏幕中居中,其尺寸由Size属性指定 属性指定 C WindowsDefaultLocation ? 窗体在 窗体在Windows默认位置,其尺寸由 默认位置, 属性指定, 默认位置 其尺寸由Size属性指定,默认值 属性指定 C WindowsDefaultBounds ? 窗体在 窗体在Windows默认位置,大小也由 默认位置, 默认位置 大小也由Windows默认决定 默认决定 C CenterParent ? 窗体在其父窗体中居中6 窗体的常用属性10-3 窗体的常用属性C WindowState? 获取或设置窗体的窗口状态 ? 取值为如下之一C Normal ? 默认大小的窗口,默认值 默认大小的窗口, C Minimized ? 最小化的窗口 C Maximized ? 最大化的窗口7 窗体的常用属性10-4 窗体的常用属性? 窗口样式属性C ControlBox? 获取或设置一个值,该值指定窗体标题栏是否显示 获取或设置一个值, 系统控件C Helpbutton? 获取或设置一个值,该值指定窗体标题栏是否显示 获取或设置一个值, 帮助按钮C Icon? 获取或设置窗体标题栏中的图标8 窗体的常用属性10-5 窗体的常用属性C MaximizeBox? 获取或设置一个值,该值指定窗体标题栏是否显示 获取或设置一个值, 最大化按钮C MinimizeBox? 获取或设置一个值,该值指定窗体标题栏是否显示 获取或设置一个值, 最小化按钮C ShowIcon? 获取或设置一个值,该值指定窗体标题栏是否显示 获取或设置一个值, 图标9 窗体的常用属性10-6 窗体的常用属性C ShowInTaskbar? 获取或设置一个值,该值指定是否在Windows任务 获取或设置一个值,该值指定是否在 任务 栏中显示窗体C TopMost? 获取或设置一个值,该值指定该窗体是否应显示为 获取或设置一个值, 最顶层窗体10 窗体的常用属性10-7 窗体的常用属性? 外观样式属性C BackColor? 获取或设置窗体的背景颜色C BackgroundImage? 获取或设置窗体的背景图像C Cursor? 获取或设置鼠标指针在窗体上时的显示效果C Text? 获取或设置窗体标题栏中的标题文字11 窗体的常用属性10-8 窗体的常用属性C Font? 获取或设置窗体上显示文字的字体样式 ? 它包含如下7个值 它包含如下 个值C C C C C C C Name:字体名称 : Size:字体大小,单位由 :字体大小,单位由Unit指定 指定 Unit:字体大小度量单位 : Bold:是否为粗体 : Italic:是否为斜体 : Strikeout:是否有中划线 : Underline:是否有下划线 :12 窗体的常用属性10-9 窗体的常用属性C ForeColor? 获取或设置窗体的前景颜色C FormBorderStyle? 获取或设置窗体的边框样式 ? 其取值为如下之一C C C C C C C None:无边框 : FixedSingle:固定的单行边框 : Fixed3D:固定的三维边框 : FixedDialog:固定的对话框样式的粗边框 : Sizable:可调大小的边框,默认值 :可调大小的边框, FixedToolWindow:固定的工具窗口边框 : SizableFixedToolWindow:可调大小的工具窗口边框 :13 窗体的常用属性10-10 窗体的常用属性? 行为属性C AllowDrop? 获取或设置一个值,该值指定该控件是否接受用户 获取或设置一个值, 拖放到它上面的数据C Enabled? 指定是否启用该控件C ImeMode? 获取或设置控件的输入法编辑器(IME)的模式 获取或设置控件的输入法编辑器( )14 窗体的常用事件? 在属性窗口中可以查看控件的事件,双击事件名 在属性窗口中可以查看控件的事件, 称可以进入事件响应方法编辑状态 ? 窗体的常用事件有C Activated? 激活窗体时发生C FormClosed? 关闭窗体后发生C FormClosing? 关闭窗体时发生C Load? 加载窗体时发生15 窗体上各事件的引发顺序? 当一个窗体启动时,执行事件过程的次序如下 当一个窗体启动时,C C C C 本窗体上的Load事件过程 事件过程 本窗体上的 本窗体上的Activated事件过程 本窗体上的 事件过程 本窗体上的其他Form级事件过程 本窗体上的其他 级事件过程 本窗体上包含对象的相应事件过程? 一个窗体被卸载时,执行事件过程的次序如下 一个窗体被卸载时,C 本窗体上的 本窗体上的FormClosing事件过程 事件过程 C 本窗体上的FormClosed事件过程 事件过程 本窗体上的16 窗体的常用方法2-1 窗体的常用方法? 除了事件响应方法之外,窗体还有如下的 除了事件响应方法之外, 一些常用方法C Activate? 激活窗体并给予焦点C Close? 关闭窗体C Focus? 使窗体获得焦点17 窗体的常用方法2-2 窗体的常用方法C Hide? 隐藏窗体C Show? 按照无模式窗体样式显示窗体C ShowDialog? 按照模式窗体样式显示窗体18 窗体控件示例4-1 窗体控件示例19 窗体控件示例4-2 窗体控件示例? 整个程序主要包含以下几个 源文件 整个程序主要包含以下几个cs源文件C 程序主文件? Program.cs:包含主方法,自动生成 :包含主方法,C Form1的两个窗体设计文件 的两个窗体设计文件? Form1.cs:事件响应方法及其他自定义方法,需要用 :事件响应方法及其他自定义方法, 户编辑代码 ? Form1.Designer.cs:窗体及内部控件设计,自动生成 :窗体及内部控件设计,C Form1_1的两个窗体设计文件(同上) 的两个窗体设计文件( 的两个窗体设计文件 同上) C Form1_2的两个窗体设计文件(同上) 的两个窗体设计文件( 的两个窗体设计文件 同上)20 窗体控件示例4-3 窗体控件示例Program.cs文件 : 文件using S using System.Collections.G using System.Windows.F namespace Proj8_1 { static class Program { /// &summary& /// 应用程序的主入口点。 应用程序的主入口点。 /// &/summary& [STAThread] static void Main() { Application.EnableVisualStyles(); //启动可视样式 启动可视样式 Application.SetCompatibleTextRenderingDefault(False); //设置控件显示文本的默认方式 设置控件显示文本的默认方式 Application.Run(new Form1()); //默认启动窗体为 默认启动窗体为Form1,用户可以修改 默认启动窗体为 , } } }21 Form1.cs文件(斜体为用户编辑部分): 文件(斜体为用户编辑部分): 文件 using S using System.Collections.G using System.ComponentM using System.D using System.D using System.T using System.Windows.F namespace Proj8_1 { public partial class Form1 : Form //从Form类继承,采用分布类定义方式 类继承, 从 类继承 { public Form1() //Form1类构造函数 类构造函数 { InitializeComponent(); //初始化方法,其代码在Form1.Designer.cs文件中 } //初始化方法 其代码在Form1.Designer.cs文件中 初始化方法, private void button1_Click(object sender, EventArgs e) { Form myform = new Form1_1(); //定义Form1_1类对象 myform.ShowDialog(); //以模式窗体方式调用 } private void button2_Click(object sender, EventArgs e) { Form myform = new Form1_2(); //定义Form1_2类对象 myform.Show(); //以无模式窗体方式调用 } } } 22窗体控件示例4-4 窗体控件示例 焦点? 焦点(Focus)是指当前处于活动状态的窗 焦点( ) 体或控件C 只有具有焦点的控件才能接收用户的操作 C 获得焦点的方法? 单击控件 ? 调用控件的 调用控件的focus方法 方法 ? 按Tab键,涉及 键 涉及Tab键次序设置问题 键次序设置问题C Tab键次序由控件的 键次序由控件的TabIndex属性控制,第一个控件的 属性控制, 键次序由控件的 属性控制 TabIndex属性值为 ,第一个控件的 属性值为0,第一个控件的TabIndex属性值为 属性值为 属性值为 1,……,依次递增 , ,23 控件概述? 控件是包含在窗体上的对象,是构成用户 控件是包含在窗体上的对象, 界面的基本元素,也是C#可视化编程的重 界面的基本元素,也是 可视化编程的重 要工具 ? 工具箱中包含了建立应用程序的各种控件, 工具箱中包含了建立应用程序的各种控件, 根据控件的不同用途分为若干个选项卡, 根据控件的不同用途分为若干个选项卡, 可根据用途单击相应的选项卡,将其展开, 可根据用途单击相应的选项卡,将其展开, 选择需要的控件24 控件共有属性? 大多数控件共有的基本属性如下C C C C C C C C C Name属性 属性 Text属性 属性 尺寸大小( 尺寸大小(Size)属性 ) 位置( 位置(Location)属性 ) 字体属性( 字体属性(Font) ) 颜色属性( 颜色属性(BackColor和ForeColor) 和 ) 可见( 可见(Visible)属性 ) 有效( 有效(Enabled)属性 ) Cursor属性 属性25 富文本框控件RichTextBox 3-1 富文本框控件? 提供类似 提供类似Microsoft Word能够输入、显示 能够输入、 能够输入 或处理具有格式的文本 ? 常用属性如下C C C C C SelectionFont SelectionColor SelectionLength SlectionStart Text26 富文本框控件RichTextBox 3-2 富文本框控件? 常用事件如下C TextChanged? 常用的方法如下C Find C Clear27 富文本框控件RichTextBox 3-3 富文本框控件C LoadFile(文件名 文件类型 及SaveFile 文件名, 文件类型)及 文件名? 加载或保存 或txt文件,两个方法参数是相同的 加载或保存rtf或 文件 文件, ? 其中文件类型取值如下C PlainText ? 用空格代替 用空格代替OLE对象的纯文本流 对象的纯文本流 C RichNoOleObjs ? 用空格代替 用空格代替OLE对象的丰富文本格式(RTF)流,只用于 对象的丰富文本格式( 对象的丰富文本格式 ) SaveFile方法 方法 C RichText ? RTF格式流 格式流 C TextOleObjs ? 包含 包含OLE对象文本表示形式的纯文本流,只用于 对象文本表示形式的纯文本流, 对象文本表示形式的纯文本流 只用于SaveFile方 方 法 C UnicodePlainText ? 用空格代替 用空格代替OLE对象的采用 对象的采用Unicode编码的纯文本流 对象的采用 编码的纯文本流28 富文本框控件示例? 【例8.2】 设计一个窗体,说明富文本框的 】 设计一个窗体, 使用方法创建Form2窗体,添加富文本框控件richtextBox1 窗体,添加富文本框控件 创建 窗体private void Form2_Load(object sender, EventArgs e) { richtextBox1.LoadFile(&H:\\C#2005\\ch8\\file.RTF&, RichtextBoxStreamType.RichText); }将本窗体设计为启动窗体,运行本项目, 将本窗体设计为启动窗体,运行本项目,在富文本框 RichtextBox1中显示 中显示H:\C#2005\ch8\file.rtf文件的内容 中显示 文件的内容29 分组框控件GroupBox 分组框控件? 用于创建一个控件组C 比如将几个单选按钮分成组 C 要在分组框中加入组成员,必须先创建一个分组框, 要在分组框中加入组成员,必须先创建一个分组框, 再在它的内部创建其成员? 如果在分组框外创建控件再移动到分组框内,该控件不能与 如果在分组框外创建控件再移动到分组框内, 分组框关联到一起? 常用属性C Text:分组框的标题 : C Visible:是否显示 :? 一般不使用事件和方法30 面板控件Panel 面板控件? 用于组合控件,便于控制界面布局 用于组合控件, ? 常用属性C BoderStyle? 设置边框样式,可取值如下之一 设置边框样式,C None:无边框,默认值 :无边框, C FixedSingle:单线边框 : C Fixed3D:三维立体边框 :C AutoScroll? 是否显示滚动条? 一般不使用事件和方法31 复选框控件CheckBox 2-1 复选框控件? 属于选择类控件,用来设置需要或不需要 属于选择类控件, 某一选项功能C 在运行时,如果用户用鼠标单击复选框左边的 在运行时, 方框,方框中就会出现一个“ ”符号, 方框,方框中就会出现一个“√”符号,表示 已选取这个功能了 C 复选框的功能是独立的,如果在同一窗体上有 复选框的功能是独立的, 多个复选框, 多个复选框,用户可根据需要选取一个或几个32 复选框控件CheckBox 2-2 复选框控件? 常用属性如下C Appearance? 控制复选框的外观,取值有Normal(普通类型,默 控制复选框的外观,取值有 (普通类型, 认值)和Button(按钮类型) 认值) (按钮类型)C Checked? 是否选中? 常用事件 常用事件Click ? 下面看一个例子33 复选框控件示例创建Form3窗体,设计界面如右图所示,添加一个分组 窗体,设计界面如右图所示, 创建 窗体 框和一个命令按钮, 框和一个命令按钮,分组框中放置四个复选框private void button1_Click(object sender, EventArgs e) { if (checkBox1.Checked && checkBox3.Checked && !checkBox2.Checked && !checkBox4.Checked) MessageBox.Show(&您答对了 真的很棒!!!&, &信息提示 您答对了,真的很棒 信息提示&, 您答对了 真的很棒 信息提示 MessageBoxButtons.OK); else MessageBox.Show(&您答错了 继续努力吧!!!&, &信息提示 您答错了,继续努力吧 信息提示&, 您答错了 继续努力吧 信息提示 MessageBoxButtons.OK); }消息框34 消息框类MessageBox 5-1 消息框类? 通过 通过MessageBox.Show方法可以显示一个 方法可以显示一个 预定义的对话框, 预定义的对话框,用于向用户传递信息 ? 该方法有三个参数C 提示信息文本 C 标题栏文本 C 显示按钮类型的枚举值35 消息框类MessageBox 5-2 消息框类? 显示按钮类型的枚举值取值如下C MessageBoxButtons.AbortRetryIgnore? 显示“中止”、“重试”和“忽略”按钮 显示“中止” 重试” 忽略”C MessageBoxButtons.OK? 显示“确定”按钮 显示“确定”C MessageBoxButtons.OKCancel? 显示“确定”和“取消”按钮 显示“确定” 取消”C MessageBoxButtons.RetryCancel? 显示“重试”和“取消”按钮 显示“重试” 取消”36 消息框类MessageBox 5-3 消息框类C MessageBoxButtons.YesNo? 显示“是”和“否”按钮 显示“C MessageBoxButtons.YesNoCancel? 显示“是”、“否”和“取消”按钮 显示“ 取消”37 消息框类MessageBox 5-4 消息框类? MessageBox.Show方法的返回值为如下的 方法的返回值为如下的 DialogResult枚举值 枚举值C C C C C C Abort:按下中止按钮 : Cancel:按下取消按钮 : Ignore:按下忽略按钮 : No:按下否按钮 : None:有其他模式对话框正在运行 : OK:按下确定按钮 :38 消息框类MessageBox 5-5 消息框类C Retry:按下重试按钮 : C Yes:按下是按钮 :39 单选按钮控件RadioButton 单选按钮控件? 单选按钮是多选一,只能从多个选项中选 单选按钮是多选一, 择一个, 择一个,各选项间的关系是互斥的 ? 单选按钮使用时经常将多个单选按钮放在 一个分组框中构成一个选项组 ? 单选按钮的属性和事件和复选框相同 ? 下面看一个例子40 单选按钮控件示例创建Form4窗体,设计界面如右图所示,添加一个分组 窗体,设计界面如右图所示, 创建 窗体 框和一个命令按钮, 框和一个命令按钮,分组框中放置四个单选按钮private void button1_Click(object sender, EventArgs e) { if (radiobutton3.Checked) MessageBox.Show(&您选对了 这是微软公司开发的操作系统 您选对了,这是微软公司开发的操作系统 您选对了 这是微软公司开发的操作系统&, &信息提示 MessageBoxButtons.OK); 信息提示&, 信息提示 else if (radiobutton1.Checked || radiobutton4.Checked) MessageBox.Show(&您选错了 这是程序设计语言 您选错了,这是程序设计语言 您选错了 这是程序设计语言&, &信息提示 MessageBoxButtons.OK); 信息提示&, 信息提示 else MessageBox.Show(&您选错了 这是数据库管理系统 您选错了,这是数据库管理系统 您选错了 这是数据库管理系统&, &信息提示 MessageBoxButtons.OK); 信息提示&, 信息提示 }41 图片框控件PictureBox 3-1 图片框控件? 用于在窗体上放置图形图像,也可以在其 用于在窗体上放置图形图像, 上放置多个控件, 上放置多个控件,作为其他控件的容器 ? 图形的绘制功能放到第 章介绍 图形的绘制功能放到第10章介绍 ? 常用属性C BoderStyle? 设置边框样式,可取值如下之一 设置边框样式,C None:无边框,默认值 :无边框, C FixedSingle:单线边框 : C Fixed3D:三维立体边框 :42 图片框控件PictureBox 3-2 图片框控件C BackgroundImage? 获取或设置窗体的背景图像C Image? 获取或设置图片框中显示的图像,在运行时可使用 获取或设置图片框中显示的图像, Image.FromFile方法加载图像 方法加载图像43 图片框控件PictureBox 3-3 图片框控件C SizeMode? 指定如何显示图像 ? 可取以下值之一C Normal:图像放在图片框的左上角,如果图像比图片框 :图像放在图片框的左上角, 则裁剪图像, 大,则裁剪图像,默认值 C AutoSize:调整图片框大小,使之等于图像大小 :调整图片框大小, C CenterImage:图像居中显示,如果图像比图片框大,则 :图像居中显示,如果图像比图片框大, 裁剪图像 C StretchImage:拉伸或收缩图像,使之适应图片框的大小 :拉伸或收缩图像, C Zoom:图像大小按照原有大小比例增加或减小 :44 图片框控件示例创建Form5窗体,设计界面如右图所示,添加一个图片 窗体,设计界面如右图所示, 创建 窗体 框和四个命令按钮, 框和四个命令按钮,并设计以下事件响应方法private void button1_Click(object sender, EventArgs e) { pictureBox1.Image = Image.FromFile(&H:\\C#2005\\ch8\\spring.jpg&); } private void button2_Click(object sender, EventArgs e) { pictureBox1.Image = Image.FromFile(&H:\\C#2005\\ch8\\summer.jpg&); } private void button3_Click(object sender, EventArgs e) { pictureBox1.Image = Image.FromFile(&H:\\C#2005\\ch8\\fall.jpg&); } private void button4_Click(object sender, EventArgs e) { pictureBox1.Image = Image.FromFile(&H:\\C#2005\\ch8\\winter.jpg&); }45 组合框控件ComboBox 4-1 组合框控件? 是一个具有下拉箭头的文本框C 按下下拉箭头按钮就会下拉出一个列表供用户 选择项目, 选择项目,还可以在文本框中直接输入数据 C 一次只能选取或输入一个选项46 组合框控件ComboBox 4-2 组合框控件? 常用属性组合框的属性 DropDownStyle 说明 获取或设置指定组合框样式的值。可取以下值之一: ? DropDown(默认值):文本部分可编辑。用户必须单击箭头 按钮来显示列表部分。 ? DropDownList:用户不能直接编辑文本部分。用户必须单击箭 头按钮来显示列表部分。 ? Simple:文本部分可编辑。列表部分总可见。 获取或设置组合框下拉部分的宽度(以像素为单位)。 获取或设置组合框下拉部分的高度(以像素为单位)。 表示该组合框中所包含项的集合。 获取或设置当前组合框中选定项的索引。 获取或设置当前组合框中选定项的文本。 指示是否对组合框中的项进行排序。47DropDownWidth DropDownHeight Items SelectedItem SelectedText SortedDropDownStyle=Simple DropDownStyle=DropDown DropDownStyle=DropDownList 组合框控件ComboBox 4-3 组合框控件Items的属性 的属性 Count 说明 组合框的项集合中项个数 ? 组合框的 组合框的Items属性是最重要的属性,它是 属性是最重要的属性, 属性是最重要的属性 Items的方法 的方法 说明 存放组合框中所有项的集合, 存放组合框中所有项的集合,对组合框的 Add 向ComboBox项集合中添加一个项 操作实际上就是对该属性即项集合的操作 AddRange 向ComboBox项集合中添加一个项的数组 Clear下面给出 移除ComboBox项集合中的所有项 ? 下面给出Items的属性和方法说明 的属性和方法说明Contains Equqls GetType Insert IndexOf Remove RemoveAt 确定指定项是否在ComboBox项集合中 判断是否等于当前对象 获取当前实例的类型 将一个项插入到ComboBox项集合中指定的索引处 检索指定的项在ComboBox项集合中的索引 从ComboBox项集合中移除指定的项 移除ComboBox项集合中指定索引处的项48 组合框控件ComboBox 4-4 组合框控件? 组合框常用事件说明如下组合框的事件 Click TextChanged SelectedIndexChanged KeyPress 说明 在单击控件时发生。 在 Text 属性值更改时发生。 在SelectedIndex属性值改变时发生。 在控件有焦点的情况下按下键时发生。49 组合框控件示例创建Form6窗体,设计界面如右图所示,添加两个分组 创建 窗体,设计界面如右图所示, 窗体 第一个分组框中放置一个文本框和一个命令按钮, 框,第一个分组框中放置一个文本框和一个命令按钮, 第二个组合框中放置一个组合框, 第二个组合框中放置一个组合框,并设计以下事件响应 方法private void button1_Click(object sender, EventArgs e) { if (textBox1.Text != &&) if (!comboBox1.Items.Contains(textBox1.Text)) comboBox1.Items.Add(textBox1.Text); //不添加重复项 不添加重复项 }50 列表框控件ListBox 3-1 列表框控件? 为用户提供一个选择的列表C 用户可从列表框列出的一组选项中用鼠标选取 一个或多个 C 如果有较多的选择项,超出规定的区域而不能 如果有较多的选择项, 一次全部显示时, 会自动加上滚动条 一次全部显示时,C#会自动加上滚动条51 列表框控件ListBox 3-2 列表框控件列表框的属性 MultiColumn 说明 获取或设置是否支持多列。设置为True,则支持多列,设置为 ? 常用属性如下 False(默认值),则不支持多列 获取或设置列表框控件中当前选定项的索引,从0开始 获取一个集合,它包含所有当前选定项的索引 获取或设置列表框控件中当前选定项 获取一个集合,它包含所有当前选定项 获取所有选项的集合 SelectedIndex SelectedIndices SelectedItem SelectedItems ItemsSelectionMode 获取或设置列表框控件的选择模式。可选以下值之一: Items属性和组合框的 属性和组合框的Items属性一样,不再赘述 属性一样, 属性和组合框的 属性一样 ? one:表示只能选择一项。? none:表示无法选择。 ? MultiSimple:表示可以选择多项。 ? MultiExtended:表示可以选择多项。并且按下Shift键的同时 单击鼠标或者同时按下Shift键和箭头键,会将选定内容从前一 选定项扩展到当前项,按下Ctrl键的同时单击鼠标将选择或撤销 选择列表中的某项。 当前选取的选项文本52Text 列表框控件ListBox 3-3 列表框控件? 常用事件如下所示C Click? 单击控件时发生C SelectedIndexChanged? SelectedIndex属性值改变时发生 属性值改变时发生C KeyPress? 在控件有焦点的情况下,按下任意键盘键时发生 在控件有焦点的情况下,53 列表框控件示例4-1 列表框控件示例创建Form7窗体,设计界面如右图所示,添加两个列表 窗体,设计界面如右图所示, 创建 窗体 框和四个命令按钮, 框和四个命令按钮,并设计以下事件响应方法private void Form7_Load(object sender, EventArgs e) { listBox1.Items.Add(&清华大学 清华大学&); 清华大学 listBox1.Items.Add(&北京大学 北京大学&); 北京大学 listBox1.Items.Add(&浙江大学 浙江大学&); 浙江大学 listBox1.Items.Add(&南京大学 南京大学&); 南京大学 listBox1.Items.Add(&武汉大学 武汉大学&); 武汉大学 listBox1.Items.Add(&中国科技大学 中国科技大学&); 中国科技大学 listBox1.Items.Add(&中国人民大学 中国人民大学&); 中国人民大学 listBox1.Items.Add(&华中科技大学 华中科技大学&); 华中科技大学 listBox1.Items.Add(&复旦大学 复旦大学&); 复旦大学 enbutton(); //调用 调用enbutton()方法 调用 方法 }54 private void enbutton() //自定义方法 自定义方法 { if (listBox1.Items.Count == 0) //当左列表框为空时右移命令按钮不可用 当左列表框为空时右移命令按钮不可用 { button1.Enabled = F button2.Enabled = F } else //当左列表框不为空时右移命令按钮可用 当左列表框不为空时右移命令按钮可用 { button1.Enabled = T button2.Enabled = T } if (listBox2.Items.Count == 0) //当右列表框为空时左移命令按钮不可用 当右列表框为空时左移命令按钮不可用 { button3.Enabled = F button4.Enabled = F } else //当右列表框不为空时左移命令按钮可用 当右列表框不为空时左移命令按钮可用 { button3.Enabled = T button4.Enabled = T } }列表框控件示例4-2 列表框控件示例55 列表框控件示例4-3 列表框控件示例private void button1_Click(object sender, EventArgs e) { if (listBox1.SelectedIndex &= 0) //将左列表框中选中项移到右列表框中 将左列表框中选中项移到右列表框中 { listBox2.Items.Add(listBox1.SelectedItem); listBox1.Items.RemoveAt(listBox1.SelectedIndex); } enbutton(); } private void button2_Click(object sender, EventArgs e) { foreach (object item in listBox1.Items) //将左列表框中所有项移到右列表框中 将左列表框中所有项移到右列表框中 listBox2.Items.Add(item); listBox1.Items.Clear(); enbutton(); }56 列表框控件示例4-4 列表框控件示例private void button3_Click(object sender, EventArgs e) { if (listBox2.SelectedIndex &= 0) //将右列表框中选中项移到左列表框中 将右列表框中选中项移到左列表框中 { listBox1.Items.Add(listBox2.SelectedItem); listBox2.Items.RemoveAt(listBox2.SelectedIndex); } enbutton(); } private void button4_Click(object sender, EventArgs e) { foreach (object item in listBox2.Items) //将右列表框中所有项移到左列表框中 将右列表框中所有项移到左列表框中 listBox1.Items.Add(item); listBox2.Items.Clear(); enbutton(); }57 带复选框的列表框控件CheckedListBox 4-1 带复选框的列表框控件 ? 用来显示一系列列表项,每个列表项前面 用来显示一系列列表项, 都有一个复选项C 是否选中了某个列表项可以很清楚地表现出来? CheckedListBox类继承自 类继承自ListBox类,其大 类继承自 类 部分属性和方法都与ListBox类相同 部分属性和方法都与 类相同 ? 下面介绍 下面介绍CheckedListBox类特有的属性和 类特有的属性和 方法58 带复选框的列表框控件CheckedListBox 4-2 带复选框的列表框控件? 常用属性如下C CheckedClick? 属性值为 属性值为True时单击某一列表项即可选中它,否则单击只是 时单击某一列表项即可选中它, 时单击某一列表项即可选中它 改变焦点, 改变焦点,再次单击才能选中C CheckedIndices? 被选中索引的集合C CheckedItems? 被选中选项的集合C ColumnWidth? 多列显示时,每列的宽度 多列显示时,C ThreeCheckBoxes? 属性值为 属性值为True时,复选框以立体方式显示,否则以平面方式 时 复选框以立体方式显示, 显示59 带复选框的列表框控件CheckedListBox 4-3 带复选框的列表框控件 ? 常用方法如下C GetItemCheckState? 用于取得指定列表项的状态 ? 有一个整型参数,指定列表项的索引 有一个整型参数,C GetItemChecked? 返回指定选项是否被选中60 带复选框的列表框控件CheckedListBox 4-4 带复选框的列表框控件C SetItemCheckState? 设置列表项的状态 ? 有两个参数,第一个是整型参数,指定列表项的索 有两个参数,第一个是整型参数, 引,第二个参数可取以下值之一C CheckState.Checked:选中 : C CheckState.UnChecked:未选中 : C CheckState.Inderminate:不确定状态 :C SetItemChecked? 将指定索引处选项的状态设置为 CheckState.Checked61 带复选框的列表框控件示例创建Form8窗体,设计界面如右图所示,添加一个带复 窗体,设计界面如右图所示, 创建 窗体 选框的列表框、一个列表框、一个标签和一个命令按钮, 选框的列表框、一个列表框、一个标签和一个命令按钮, 并设计以下事件响应方法private void Form8_Load(object sender, EventArgs e) { checkedListBox1.Items.Add(&中国 中国&); 中国 checkedListBox1.Items.Add(&美国 美国&); 美国 checkedListBox1.Items.Add(&俄罗斯 俄罗斯&); 俄罗斯 checkedListBox1.Items.Add(&英国 英国&); 英国 checkedListBox1.Items.Add(&法国 法国&); 法国 checkedListBox1.CheckOnClick = T } private void button1_Click(object sender, EventArgs e) { foreach(object item in checkedListBox1.CheckedItems) listBox1.Items.Add(item); }62 定时器控件Timer 2-1 定时器控件? 特点是每隔一定的时间间隔就会自动运行 一次定时器事件 ? 所谓时间间隔,指的是定时器事件两次调 所谓时间间隔, 用之间的时间间隔,一般以毫秒( ) 用之间的时间间隔,一般以毫秒(ms)为 基本单位 ? 下面介绍定时器控件的属性和方法63 定时器控件Timer 2-2 定时器控件定时器的属性 Enabled Interval 说明 设置是否起用定时器控件。若设置为True(默认值),表 示启动定时器开始计时;否则,表示暂停定时器的使用 设置两个定时器事件之间的时间间隔。设置时以毫秒为单 位,设置的范围是0~65535ms 说明 启动定时器,也可以将Enabled属性设置为True来启动定 时器 停止定时器,也可以将Enabled属性设置为False来停止定 时器定时器的方法 Start Stop64 定时器控件示例创建Form9窗体,设计界面如右图所示,添加一个标签、 窗体,设计界面如右图所示,添加一个标签、 创建 窗体 一个文本框和一个定时器, 一个文本框和一个定时器,并设计以下事件响应方法private void Form9_Load(object sender, EventArgs e) { textBox1.Text = DateTime.Now.ToString(&h:mm:ss&); timer1.Enabled = T //启到定时器 启到定时器timer1 启到定时器 timer1.Interval = 100; } private void timer1_Tick(object sender, EventArgs e) { textBox1.Text = DateTime.Now.ToString(&h:mm:ss&); }65 滚动条控件2-1 滚动条控件? 滚动条通常与文本框、列表框一起使用, 滚动条通常与文本框、列表框一起使用, 分为两种类型C 水平滚动条 水平滚动条HScrollBar C 垂直滚动条VScrollBar 垂直滚动条? 两种滚动条的结构和使用方法相同,外观 两种滚动条的结构和使用方法相同, 如下所示66 滚动条控件2-2 滚动条控件滚动条的属性 Maximum Minimum Value LargeChange SmallChange 滚动条的事件 Scroll Change 说明 表示滚动条的最大值。 表示滚动条的最小值。 表示目前滚动条所在位置对应的值。 设置滚动条的最大变动值。 设置滚动条的最小变动值。 说明 当用鼠标压住滚动条上的滑块进行移动时,滑块被重 新定位时发生。 当改变Value属性值时发生。67 滚动条控件示例2-1 滚动条控件示例创建Form10窗体,设计界面如右图所示,添加一个水平滚动 创建 窗体,设计界面如右图所示, 窗体 一个垂直滚动条和一个分组框, 条、一个垂直滚动条和一个分组框,在分组框中放置一个文 本框和一个命令按钮, 本框和一个命令按钮,并设计以下事件响应方法private void Form10_Load(object sender, EventArgs e) { hScrollBar1.Maximum = 100; hScrollBar1.Minimum = 0; hScrollBar1.SmallChange = 2; hScrollBar1.LargeChange = 5; vScrollBar1.Maximum = 100; vScrollBar1.Minimum = 0; vScrollBar1.SmallChange = 2; vScrollBar1.LargeChange = 5; hScrollBar1.Value = 0; vScrollBar1.Value = 0; textBox1.Text = &0&; }68 滚动条控件示例2-2 滚动条控件示例private void hScrollBar1_Scroll(object sender, ScrollEventArgs e) { textBox1.Text = hScrollBar1.Value.ToString(&d&); //将hScrollBar1.Value的实际宽度转换成字符串显示在 的实际宽度转换成字符串显示在textBox1中 将 的实际宽度转换成字符串显示在 中 vScrollBar1.Value = hScrollBar1.V } private void vScrollBar1_Scroll(object sender, ScrollEventArgs e) { textBox1.Text = vScrollBar1.Value.ToString(&d&); hScrollBar1.Value = vScrollBar1.V } private void button1_Click(object sender, EventArgs e) { if (Convert.ToInt16(textBox1.Text)&= 0 && Convert.ToInt16(textBox1.Text) &= 100) { hScrollBar1.Value = Convert.ToInt16(textBox1.Text); vScrollBar1.Value = Convert.ToInt16(textBox1.Text); } }69 月历控件MonthCalendar 3-1 月历控件? 可用于显示一个月或几个月的月历 ? 常用属性C MonthlyBoldedDate? 用于设置要用粗体显示的一个月中的日期C MinDate? 获取或设置可选择的最小月历日期C MaxDate? 获取或设置可选择的最大月历日期C SelectionRange? 获取或设置在月历中选择日期的范围70 月历控件MonthCalendar 3-2 月历控件C SelectionStart? 获取或设置所选日期范围的开始日期C SelectionEnd? 获取或设置所选日期范围的结束日期C ShowWeekNumbers? 获取或设置是否在月历的左方列出某个星期是本年度的第几 个星期C ShowToday? 获取或设置是否在月历的底部显示今天的日期C ShowTodayCircle? 获取或设置是否在当天的日期上加一个圆圈C TodayDate? 获取或设置当前的日期71 月历控件MonthCalendar 3-3 月历控件? 常用事件如下C DateChanged? 当日期改变时发生C DateSelected? 当日期被选择时发生? 方法很少使用72 月历控件示例创建Form13窗体,设计界面如右图所示,添加一个月历 创建 窗体,设计界面如右图所示, 窗体 控件和一个标签, 控件和一个标签,并设计以下事件响应方法private void Form13_Load(object sender, EventArgs e) { label1.Text = &今天是 + monthCalendar1.TodayDate.Year 今天是& 今天是 + &年& + monthCalendar1.TodayDate.Month 年 + &月& + monthCalendar1.TodayDate.Day + &日&; 月 日 } private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e) { label1.Text = &您选中的是 + monthCalendar1.SelectionStart.Year 您选中的是& 您选中的是 + &年& + monthCalendar1.SelectionStart.Month 年 + &月& + monthCalendar1.SelectionStart.Day + &日&; 月 日 }73 日期/时间控件 日期 时间控件DateTimePicker 4-1 时间控件? 外观像一个组合框,用于显示日期和时间, 外观像一个组合框,用于显示日期和时间, 当单击下拉箭头时, 当单击下拉箭头时,会出现一个按月份显 示的日历, 示的日历,可以从中选择日期74 日期/时间控件 日期 时间控件DateTimePicker 4-2 时间控件? 常用属性如下C Format? 设置显示日期 时间的格式 设置显示日期/时间的格式 ? 可取以下值之一C C C C Custom:以自定义格式显示日期/时间 :以自定义格式显示日期 时间 Long:以操作系统设置的长日期格式显示日期 时间 :以操作系统设置的长日期格式显示日期/时间 Short:以操作系统设置的短日期格式显示日期 时间 :以操作系统设置的短日期格式显示日期/时间 Time:以操作系统设置的时间格式显示日期 时间 :以操作系统设置的时间格式显示日期/时间C CustomFormat? 当Format属性值为 属性值为Custom时,设置自定义格式的 属性值为 时 字符串75 日期/时间控件 日期 时间控件DateTimePicker 4-3 时间控件C MinDate? 获取或设置可选择的最小日期C MaxDate? 获取或设置可选择的最大日期C ShowCheckBox? 获取或设置一个值,该值指定在选择日期的左侧是否显示一 获取或设置一个值, 个复选框C ShowUpDown? 获取或设置一个值,该值指定是否使用数值调节按钮调整日 获取或设置一个值, 期/时间 时间C Value? 获取或设置当前日期76 日期/时间控件 日期 时间控件DateTimePicker 4-4 时间控件? 常用事件C ValueChanged? 当选择的日期改变时发生? 很少使用方法77 日期/时间控件示例 日期 时间控件示例创建Form11窗体,设计界面如右图所示,添加一个日 窗体,设计界面如右图所示, 创建 窗体 时间控件、 期/时间控件、一个标签和一个文本框,并设计以下事件 时间控件 一个标签和一个文本框, 响应方法private void Form11_Load(object sender, EventArgs e) { dateTimePicker1.Format = DateTimePickerFormat.L dateTimePicker1.ShowCheckBox = T dateTimePicker1.ShowUpDown = F textBox1.Text = &&; } private void dateTimePicker1_ValueChanged(object sender, EventArgs e) { textBox1.Text = dateTimePicker1.Value.ToString(&yyyy.MM.dd hh:mm:ss&); }78 超链接标签控件LinkLabel 3-1 超链接标签控件? 同Label控件十分相似,但具有超链接功能 控件十分相似, 控件十分相似C 可以链接到网站的网页上,也可以链接到其他 可以链接到网站的网页上, 应用程序? LinkLabel继承自 继承自Label类,其属性方法和 继承自 类 事件基本上和Label相同,但有几个特殊的 相同, 事件基本上和 相同 用于超链接的属性和事件79 超链接标签控件LinkLabel 3-2 超链接标签控件? 常用属性C ActiveLinkColor? 获取或设置超链接文字的颜色C LinkArea? 获取或设置标签文本中超链接部分的区域大小 ? 需要设置两个值,一个是该区域起始字符的位置, 需要设置两个值,一个是该区域起始字符的位置, 另一个是区域的长度C DisabledLinkColor? 获取或设置该控件不用时,超链接文字的颜色 获取或设置该控件不用时,80 超链接标签控件LinkLabel 3-3 超链接标签控件C LinkColor? 获取或设置未链接过的超链接文字的颜色C VisitedLinkColor? 获取或设置已链接过的超链接文字的颜色? 常用事件C LinkClicked? 单击超链接文本时发生? 很少使用方法81 超链接标签控件示例创建Form12窗体,设计界面如上图所示,添加一个超 窗体,设计界面如上图所示, 创建 窗体 链接标签控件, 链接标签控件,并设计以下事件响应方法private void Form12_Load(object sender, EventArgs e) { linkLabel1.LinkColor = Color.B linkLabel1.ActiveLinkColor = Color.G } private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { System.Diagnostics.Process.Start(&http://www.163.com&); }82 多文档窗体2-1 多文档窗体? 多文档界面应用程序由一个应用程序 父窗体) (MDI父窗体)中包含多个文档(MDI子 父窗体 中包含多个文档( 子 窗体) 窗体)组成C 父窗体作为子窗体的容器,子窗体显示各自文 父窗体作为子窗体的容器, 档,它们具有不同的功能 C 处于活动状态的子窗体的最大数目是 ,子窗 处于活动状态的子窗体的最大数目是1, 体本身不能成为父窗体, 体本身不能成为父窗体,而且不能将其移动到 父窗体的区域之外83 多文档窗体2-2 多文档窗体? 多文档界面应用程序有如下特性C 所有子窗体均显示在 所有子窗体均显示在MDI父窗体的工作区内, 父窗体的工作区内, 父窗体的工作区内 用户可改变、移动子窗体的大小, 用户可改变、移动子窗体的大小,但被限制在 MDI父窗体中 父窗体中 C 当最小化子窗体时,它的图标将显示在 当最小化子窗体时,它的图标将显示在MDI父 父 窗体上而不是在任务栏中 C 当最大化子窗体时,它的标题与 当最大化子窗体时,它的标题与MDI父窗体的 父窗体的 标题一起显示在MDI父窗体的标题栏上 标题一起显示在 父窗体的标题栏上 C MDI父窗体和子窗体都可以有各自的菜单,当 父窗体和子窗体都可以有各自的菜单, 父窗体和子窗体都可以有各自的菜单 子窗体加载时覆盖MDI父窗体的菜单 子窗体加载时覆盖 父窗体的菜单84 MDI父窗体的属性 父窗体的属性MDI父窗体属性 说明 父窗体属性 ActiveMdiChild IsMdiContainer MdiChildren 表示当前活动的MDI子窗口,如没有子窗口则返回 NULL 指示窗体是否为MDI父窗体,值为True时表示是父窗 体,值为False时表示是普通窗体 以窗体数组形式返回所有MDI子窗体85 MDI父窗体的方法 父窗体的方法? 一般只使用父窗体的 一般只使用父窗体的LayoutMdi方法,格式为 方法, 方法C MDI父窗体名 父窗体名.LayoutMdi(value) 父窗体名 C 其功能是在MDI父窗体中排列 父窗体中排列MDI子窗体,参数value 子窗体,参数 其功能是在 父窗体中排列 子窗体 决定排列方式,有以下4种取值 决定排列方式,有以下 种取值? LayoutMdi.ArrangeIcons:所有MDI子窗体以图标形式排列 :所有 子窗体以图标形式排列 在MDI父窗体中 父窗体中 ? LayoutMdi.TileHorizontal:所有 :所有MDI子窗体均垂直平铺在 子窗体均垂直平铺在 MDI父窗体中 父窗体中 ? LayoutMdi.TileVertical:所有 子窗体均水平平铺在MDI :所有MDI子窗体均水平平铺在 子窗体均水平平铺在 父窗体中 ? LayoutMdi.Cascade:所有 子窗体均层叠在MDI父窗体中 :所有MDI子窗体均层叠在 子窗体均层叠在 父窗体中86 MDI子窗体的属性 子窗体的属性MDI子窗体属性 子窗体属性 IsMdiChild MdiParent 说明 指示窗体是否为MDI子窗体,值为True时表示是 子窗体,值为False时表示是一般窗体 用来指定该子窗体的MDI父窗体87 创建多文档应用程序? 基本步骤如下C 创建一个普通窗体 创建一个普通窗体PForm作为父窗体,设置 作为父窗体, 作为父窗体 PForm.IsMdiContainer=True C 创建一个或者多个普通窗体作为子窗体的模板 C 在父窗体 在父窗体PForm上使用以下语句创建并显示子 上使用以下语句创建并显示子 窗体(设子窗体模板为CForm) 窗体(设子窗体模板为 )? CForm. child = new CForm(); //创建子窗体对象 创建子窗体对象 ? child.MdiParent = //建立父子窗体关系 建立父子窗体关系 ? child.show(); //显示子窗体 显示子窗体88 多文档窗体示例2-1 多文档窗体示例? 【例8.2】 设计一个 应用程序, 】 设计一个Windows应用程序, 应用程序 说明多文档窗体的使用方法创建Form1窗体作为父窗体,设计界面如上图所示,添 窗体作为父窗体,设计界面如上图所示, 创建 窗体作为父窗体 加四个命令按钮, 加四个命令按钮,并设计以下事件响应方法private void button1_Click(object sender, EventArgs e) { Form2 child = new Form2(); child.MdiParent = child.Show(); n++; child.Text = &第& + n + &个子窗体 个子窗体&; 第 个子窗体 }89 多文档窗体示例2-2 多文档窗体示例private void button2_Click(object sender, EventArgs e) { this.LayoutMdi(System.Windows.Forms.MdiLayout.Cascade); } private void button3_Click(object sender, EventArgs e) { this.LayoutMdi(System.Windows.Forms.MdiLayout.TileVertical); }private void button4_Click(object sender, EventArgs e) { this.LayoutMdi(System.Windows.Forms.MdiLayout.TileHorizontal); }90 事件处理程序2-1 事件处理程序? 事件处理程序用于确定事件(如用户单击 事件处理程序用于确定事件( 按钮) 按钮)发生时要执行的操作 ? 事件处理程序是绑定到事件的方法,当引 事件处理程序是绑定到事件的方法, 发事件时, 发事件时,将执行收到该事件的一个或多 个事件处理程序 ? 每个事件处理程序提供两个参数91 事件处理程序2-2 事件处理程序? 例如,窗体中一个命令按钮 例如,窗体中一个命令按钮button1的Click事件 的 事件 的事件处理程序如下C private void button1_Click(object sender, System.EventArgs e) C { //输入相应的代码 } 输入相应的代码? 其中C 第一个参数 第一个参数sender提供对引发事件的对象的引用 提供对引发事件的对象的引用 C 第二个参数 传递特定于要处理的事件的对象 第二个参数e传递特定于要处理的事件的对象 C 通过引用对象的属性或方法可获得一些信息,如鼠标 通过引用对象的属性或方法可获得一些信息, 事件中鼠标的位置? 创建事件处理程序有以下两种方法C 在Windows窗体设计器中创建事件处理程序 窗体设计器中创建事件处理程序 C 在运行时为Windows窗体创建事件处理程序 在运行时为 窗体创建事件处理程序92 在Windows窗体设计器中创建 窗体设计器中创建 事件处理程序2-1 事件处理程序? 在Windows窗体设计器中创建事件处理程 窗体设计器中创建事件处理程 序的过程如下C 单击要为其创建事件处理程序的窗体或控件 C 在属性窗口中单击“事件”按钮 在属性窗口中单击“事件” C 在可用事件的列表中,选中要创建事件处理程 在可用事件的列表中, 序的事件 C 双击事件名称,或在事件名称右侧的框中,键 双击事件名称,或在事件名称右侧的框中, 入处理程序的名称,然后按Enter键 入处理程序的名称,然后按 键 C 将适当的代码添加到该事件处理程序中93 在Windows窗体设计器中创建 窗体设计器中创建 事件处理程序2-2 事件处理程序? 例如,为button1命令按钮创建 例如, 命令按钮创建button1_Click事 命令按钮创建 事 件处理程序C C#系统会在对应窗体的 系统会在对应窗体的.Designer.cs文件中自动添加以 系统会在对应窗体的 文件中自动添加以 下语句? this.button1.Click += new System.EventHandler(this.button1_Click);C 该语句的功能是订阅事件,即接收器使用+=运算符将 该语句的功能是订阅事件,即接收器使用 运算符将 委托System.EventHandler(this.button1_Click)添加到 委托 添加到 事件源button1的事件列表中 事件源 的事件列表中94 在运行时为Windows窗体创建 在运行时为 窗体创建 事件处理程序2-1 事件处理程序? 该操作允许在程序运行时根据条件连接相应的事 件处理程序, 件处理程序,而不是在程序刚启动时连接事件处 理程序 ? 在运行时为Windows窗体创建事件处理程序如下 在运行时为Windows窗体创建事件处理程序如下C 在代码编辑器中打开要添加事件处理程序的窗体 C 对于要处理的事件,将处理方法添加到窗体上 对于要处理的事件,? 例如,如果要处理命令按钮button1的Click事件,则需创建如 例如,如果要处理命令按钮 事件, 的 事件 下的一个方法(方法名称可以改变) 下的一个方法(方法名称可以改变)C private void button1_Click(object sender, System.EventArgs e) C { //输入相应的代码 } 输入相应的代码95 在运行时为Windows窗体创建 在运行时为 窗体创建 事件处理程序2-2 事件处理程序C 将合适的代码添加到事件处理程序中 C 确定要创建事件处理程序的窗体或控件,打开 确定要创建事件处理程序的窗体或控件, 对应窗体的.Designer.cs文件,编辑代码指定事 文件, 对应窗体的 文件 件处理方法用于处理哪一个事件? 例如,以下代码指定事件处理方法button1_Click用 例如,以下代码指定事件处理方法 用 于处理命令按钮button1的Click事件 于处理命令按钮 的 事件C button1.Click += new System.EventHandler(button1_Click);? 也可以设置条件,根据不同的条件来指定不同的事 也可以设置条件, 件处理方法96 将多个事件连接到单个事件处 理程序? 在应用程序设计中,可能需要让多个事件执行同 在应用程序设计中, 一过程, 一过程,这样便于简化代码 ? 在C#中将多个事件连接到单个事件处理程序的过 中将多个事件连接到单个事件处理程序的过 程如下选择要连接事件处理程序的控件 属性”窗口中,单击“事件” 在“属性”窗口中,单击“事件”按钮 选择要处理的事件名称 在事件名称旁边的区域中, 在事件名称旁边的区域中,单击下拉按钮显示现有事 件处理程序列表 C 从该列表中选择适当的事件处理程序 C C C C97 事件处理示例? 【例8.3】 设计一个 应用程序, 】 设计一个Windows应用程序, 应用程序 用于模拟简单计算器的功能 ? 所有的按钮可以分成两类C 数字及小数点按钮:可以共享相同的事件处理 数字及小数点按钮: 方法 C 运算符按钮:可以共享相同的事件处理方法, 运算符按钮:可以共享相同的事件处理方法, 也可以使用不同的事件处理方法? 本例是采用共享方式98
实验五Windows应用程序设计_计算机软件及应用_IT/...实验仪器和材料: 计算机,Windows XP, VS2008 实验...} } } 大学窗体界面设计如下: 第9页 大理学院课程...基于C#的Windows应用程序设计考试试题德州科技职业学院
学年度第二学期...Windows 窗体程序 D. .NET 所基于的操作系统 8、文件的开始要使用关键字( )...第8章 控件及 GUI 程序设计 主要内容与学习目标 8.1 滚动条 8.2 Windows 窗体事件及事件处理程序 8.3 复选框和单选按钮 8.7 PictureBox 图片框控件 8.8 组...设计性 一、实验目的 1、创建 Windows 窗体应用程序; 2、掌握 Label,TextBox,...单击这个【提交】按钮,在第八个 Label 标签中可以把用户填写和选择 好的信息...Windows窗体应用程序基础教学大纲_理学_高等教育_教育专区。第 1 章 Windows 窗体应用程序基础 1. 2. 3. 课程目标 Windows 窗体可用于设计窗体和可视控件,以创建...《Visual Basic程序设计》第08章在线测试_远程、网络教育_成人教育_教育专区。《...一个应用程序可以只有一个窗体 B、B.一个应用程序可以有多个启动窗体 C、C....8页 免费 MFC Windows应用程序设计复... 6页 5财富值 Visual_C++MFC入门教程...你是TestKing inc 公司的软件开发者,你要开发一个Windows 窗口来为用户 提供...Windows窗体程序的开发实验报告_计算机软件及应用_IT/计算机_专业资料。精通 C#与...第8章 Windows窗体应用程... 70页 免费
Windows窗体程序设计 91页 免费
第...C#程序设计-文件与Windows窗体设计_计算机软件及应用_IT/计算机_专业资料。C#程序...第8章 Windows窗体应用程... 70页 免费 Windows窗体程序设计 91页 免费 CH10...《Visual Basic程序设计》第08章在线测试_工学_高等教育_教育专区。《Visual Basic...错误 错误 2、4.多文档界面是一个应用程序中包含多个窗体。
今日推荐 ...
All rights reserved Powered by
www.tceic.com
copyright &copyright 。文档资料库内容来自网络,如有侵犯请联系客服。

我要回帖

更多关于 windows 窗体控件库 的文章

 

随机推荐