C#程序设计课件第6章 Windows窗体程序.pptx

上传人(卖家):momomo 文档编号:7414459 上传时间:2023-12-27 格式:PPTX 页数:58 大小:228.98KB
下载 相关 举报
C#程序设计课件第6章 Windows窗体程序.pptx_第1页
第1页 / 共58页
C#程序设计课件第6章 Windows窗体程序.pptx_第2页
第2页 / 共58页
C#程序设计课件第6章 Windows窗体程序.pptx_第3页
第3页 / 共58页
C#程序设计课件第6章 Windows窗体程序.pptx_第4页
第4页 / 共58页
C#程序设计课件第6章 Windows窗体程序.pptx_第5页
第5页 / 共58页
点击查看更多>>
资源描述

1、Windows窗体应用程序也是面向对象编程技术的一个重要组成部分。在包含丰富图形用户界面的应用程序开发中,使用可视化的Windows窗体编程会更加方便,而且它具有友好的交互功能。本章我们来给大家详细介绍Windows窗体编程的方法。Windows窗体应用程序的创建和使用都很容易掌握。本节我们来讲解使用Microsoft Visual Studio 2010集成开发环境创建Windows窗体应用程序Chapter22的方法,以及该Windows窗体应用程序的起始点、配置信息等。依次选择“开始”|“所有程序”|“Microsoft Visual Studio 2010”|“Microsoft Vi

2、sual Studio 2010”命令,打开“起始页-Microsoft Visual Studio”窗口。单击“最近项目”面板中的“创建”下的“项目”链接,弹出“新建项目”对话框,并执行以下具体步骤。(1)设置应用程序的版本为.NET Framework 4.0,即选中中间左上部.NET Framework 4.0列表项。(2)设置应用程序的模板为Windows 窗体应用程序。(3)设置应用程序的名称为Chapter22。(4)设置应用程序的位置为默认位置。(5)设置应用程序的解决方案为“创建新解决方案”,并选中“为解决方案创建目录”复选框。(6)设置应用程序的解决方案名称为Chapter2

3、2。(7)单击“确定”按钮即可创建名称为Chapter22的Windows窗体应用程序。应用程序起始点的信息存放在Program.cs文件中。双击“解决方案资源管理器”面板中的Program.cs节点,打开Program.cs文件。用来配置程序集信息的相关内容存放在文件AssemblyInfo.cs中。首先展开“解决方案资源管理器”面板中的Properties节点,然后双击AssemblyInfo.cs节点打开AssemblyInfo.cs文件。控件是一组可以直接通过拖拉来被重用的类库。Windows窗体开发时可以使用丰富的控件,通过控件的使用可以给用户提供强大的功能。控件执行OnPaint(

4、PainEventArgs e)方法,把结果展示在窗体上。.NET Framework的工具箱中封装了很多控件供编程者使用,如按钮控件、单选框控件、复选框控件等等。本节我们来学习Windows窗体编程的各种基本控件。标签控件主要用于显示用户不能编辑的文本,如标题或提示等。它可以作为基本信息的载体,也可以作为复杂信息的呈现体。标签控件不能接收焦点,但是可以作为其他控件的访问键。标签通过使用类Label来实现。【示例6-1】下面创建一个标签控件,其Name属性的值为lb,它将显示“这是一个标签控件”的文本。Label lb=new Label();/创建一个标签控件lb.Text=这是一个标签控件

5、;通过标签控件的TextAlign属性,开发人员可以设置文本在标签内的对齐方式。图片框控件主要用来显示图片,图片格式可为位图、GIF、JPEG、图元文件或图标。它显示的图片由Image属性或ImageLocation属性指定。【示例6-2】下面创建一个图片框控件,其Name属性的值为pb,它将显示地址为E:1.jpg的图片。PictureBox pb=new PictureBox();/创建一个图片框控件pb.ImageLocation=E:1.jpg;运行MainForm.cs窗体之后,单击“浏览”按钮可以设置pb控件显示的图片。文本框(TextBox)和富文本框(RichTextBox)都

6、用来获取用户输入或显示文本。其中,文本框控件一般用于输入比较简单的信息,例如用户名和密码;而富文本框则用于输入比较复杂的信息,例如评论或文章。通过Text属性可以获取或设置文本框的输入或显示的文本。【示例6-3】下面创建一个文本框控件,其Name属性的值为tb,它将显示“这是一个文本框”文本。TextBox tb=new TextBox();/创建一个文本框控件tb.Text=这是一个文本框;【示例22-4】下面创建一个富文本框控件,其Name属性的值为rtb,它将显示“这是一个富文本框”文本。RichTextBox rtb=new RichTextBox();/创建一个富文本框控件rtb.T

7、ext=这是一个富文本框;按钮控件主要用于提交用户的请求。当用户单击按钮,就调用该按钮的单击事件作出相应的操作。按钮可通过Text属性和Image、ImageList属性分别设置显示的文本和图像。【示例6-5】下面创建一个按钮控件,其Name属性的值为btn,它将显示“浏览”文本。Button btn=new Button();/创建一个按钮控件btn.Text=浏览;【示例6-6】下面为Name属性的值为btnBrowserPic的按钮(MainForm.cs窗体中的“浏览”按钮)设计了Click事件btnBrowserPic_Click(object sender,EventArgs e)

8、。该事件首先打开“打开”对话框(第22.4.3节介绍),用户可以从该对话框中选择一张图片,并在pb控件中显示该图片。程序代码如下:01private void btnBrowserPic_Click(object sender,EventArgs e)02 /创建浏览文件对话框的实例03 OpenFileDialog ofd=new OpenFileDialog();04 /打开对话框05 if(ofd.ShowDialog()=DialogResult.OK)06 /获取文件的全路径07 pb.ImageLocation=ofd.FileName;08 09单项按钮是在用户提供的两个或多个互

9、斥选项组成的选项集中选择一个选项。它由RadioButton类实现。复选框是用来指定某个条件是打开的还是关闭的,它由CheckBox类实现。对于同一组内的单项按钮,用户一次只能选择一个;而同一组的复选框,用户可以选择一个或多个。注意:单项按钮和复选框最大区别在于在单项按钮组中,用户一次只能选择一个单项按钮。但是在复选框组中,用户可以选择任意数量的复选框。在Windows窗体开发中,窗体用于向用户展示信息。通过编写各种事件响应的代码,可以响应用户的各种操作,比如鼠标点击操作。本节我们来介绍设计MainForm.cs窗体的方法,包括配置窗体的属性、添加控件、创建新窗口等。窗体也有自己的属性,我们可

10、以通过以下方式来设置。打开“解决方案资源管理器”面板,并将Form1.cs节点重命名为MainForm.cs节点。双击该节点打开MainForm.cs窗体的设计界面。单击MainForm.cs窗体,“属性”面板将显示该窗体的各种属性及其值。开发人员还可以通过“属性”面板配置该窗体的各种属性。在此,笔者将MainForm.cs窗体的Name属性的值设置为MainForm、Text属性的值设置为“Windows窗体编程”。MainForm窗体创建好了后,就可以在它上面添加控件,比如文本框、图片框等。选择“工具箱”中的某一个控件,并直接拖放到MainForm.cs窗体之上,就可以把该控件添加到Mai

11、nForm.cs窗体。在此,笔者向MainForm.cs窗体添加了多个控件,并设置了相应的事件,具体说明如下表所示。注意:MainForm.cs窗体添加了多个Label控件用来显示文本(如“名称:”、“照片:”、“简介:”等),上表未列举这些控件。序号控 件 类 型Name属性Text属性事 件1TextBoxtbName2PictureBoxpb3ButtonbtnBrowserPic浏览btnBrowserPic_Click(object sender,EventArgs e)4RichTextBoxrtbDesn5ComboBoxcbAge6ListBoxlboxRole7RadioBu

12、ttonrbMale男8RadioButtonrbFemale女9CheckBoxcb1唱歌cb_CheckedChanged(object sender,EventArgs e)10CheckBoxcb2跳舞cb_CheckedChanged(object sender,EventArgs e)11CheckBoxcb3运动cb_CheckedChanged(object sender,EventArgs e)12CheckBoxcb4学习cb_CheckedChanged(object sender,EventArgs e)13ListViewlvLove14TreeViewtv创建等待对

13、话框是创建一个新窗体,它用作等待对话框。下面介绍创建等待对话框(由WaittingForm.cs窗体实现)的具体步骤。(1)右击“解决方案资源管理器”面板中的Chapter22节点,依次选择“添加”|“Windows窗体”命令。(2)单击“Windows窗体”命令打开“添加新项-Chapter22”对话框。(3)选择“Windows窗体”图标,并设置名称为WaittingForm.cs。(4)单击“添加”按钮,即可将WaittingForm.cs窗体添加到Chapter22应用程序中。(5)添加WaittingForm.cs窗体之后,设计该窗体的FormBorderStyle属性的值为None

14、、BackColor属性的值为ControlLight。并在窗体上使用Label控件显示“主窗口正在加载数据,请等待”文本。添加窗体事件是指给窗体添加相应的事件代码,使得窗体一运行就执行相应的操作。打开MainForm.cs窗体的设计界面,并双击该窗体就可以为该窗体添加MainForm_Load(object sender,EventArgs e)事件。当系统加载MainForm.cs窗体时,将触发该事件。该事件的具体实现步骤如下:(1)创建WaittingForm.cs窗体的实例waitting。(2)调用Show()方法显示WaittingForm.cs窗体。(3)设置WaittingFo

15、rm.cs窗体为当前活动窗体。(4)调用Application类的DoEvents()方法处理应用程序的消息。(5)调用Thread类的Sleep()延时5秒钟。(6)关闭WaittingForm.cs窗体,并释放waitting实例的资源。(7)最终,显示MainForm.cs窗体。注意:当Chapter22应用程序运行之后,首先显示一个等待窗口(WaittingForm.cs窗体),直到该等待窗口消失之后,才显示该应用程序的主窗口(MainForm.cs窗体)。对话框是FormBorderStyle属性为FixedDialog的窗体,主要用于与用户交互和检索信息。Windows应用程序最为

16、常用的对话框有5种:颜色对话框、字体对话框、打开文件对话框、保存文件对话框和目录浏览对话框。本节我们来学习这几种常用的对话框。颜色对话框是用来实现选择颜色的功能。它由Windows窗体ColorDialog组件实现,它是一个预先设置的对话框。用户可以从该对话框的调色板中选择颜色,以及将自定义颜色添加到该调色板。注意:如果要显示该对话框,则必须调用该组件的ShowDialog()方法。颜色对话框包括7个常用属性,如获取颜色对话框中选择的颜色的Color属性、禁用“定义自定义颜色”按钮的AllowFullOpen属性等。这些常用属性的具体说明如下表所示。属 性描 述属 性描 述Color用户选定的

17、颜色FullOpen指示用于创建自定义颜色的控件是否可见AnyColor指示是否显示基本颜色集中可用的所有颜色ShowHelp指示是否显示“帮助”按钮CustomColors自定义颜色集SolidColorOnly指示是否限制用户只选择纯色AllowFullOpen指示用户是否可以使用自定义颜色用户单击“设置颜色”按钮,可以弹出“颜色”对话框。该功能由“设置颜色”按钮(btnColor控件)的btnColor_Click(object sender,EventArgs e)事件实现。具体步骤如下:创建ColorDialog类的实例cd。调用cd实例的ShowDialog()方法显示颜色对话框。

18、把lbMessage控件的文本颜色设置为用户选择的颜色(即cd实例的Color属性的值)。在“对话框”对话框中,单击“设置颜色”按钮可以弹出“颜色”对话框,并选择颜色。单击“确定”按钮,关闭“颜色”对话框。此时,lbMessage控件中的文本的颜色已经改变。字体对话框主要用来设置字体、大小、颜色等。它由Windows窗体ColorDialog组件实现,它也是一个预先设置的对话框。用户可以从该对话框中选择系统上当前安装的字体。字体对话框包括5个常用属性,具体说明如下表所示。属 性描 述属 性描 述Font用户选定的字体MinSize用户可选择的最小磅值Color用户选定的字体颜色ShowHelp

19、指示是否显示“帮助”按钮MaxSize用户可选择的最大磅值用户单击“设置字体”按钮,可以弹出“字体”对话框。该功能由“设置字体”按钮(btnFont控件)的btnFont_Click(object sender,EventArgs e)事件实现。具体步骤如下:创建FontDialog类的实例fd。调用fd实例的ShowDialog()方法显示颜色对话框。把lbMessage控件的文本字体设置为用户选择的字体(即fd实例的Font属性的值)。在“对话框”对话框中,单击“设置字体”按钮可以弹出“字体”对话框,并选择字体为“粗斜体”选项。单击“确定”按钮,关闭“字体”对话框。此时,lbMessage

20、控件中的文本的字体已经改变。打开文件对话框由Windows窗体OpenFileDialog组件实现,它也是预先配置的对话框。它与Windows使用的标准“保存文件”对话框相同。打开文件对话框包括5个常用属性,具体说明如下表所示。属 性描 述属 性描 述Multiselect是否允许选择多个文件SafeFileNames所有选定文件的文件名和扩展名的数组ReadOnlyChecked是否选定只读复选框ShowReadOnly是否包含只读复选框SafeFileName所选文件的文件名和扩展名用户单击“浏览文件”按钮可以弹出“打开”对话框,该功能由“浏览文件”按钮(btnFile控件)的btnFil

21、e_Click(object sender,EventArgs e)事件实现。具体步骤如下:(1)创建OpenFileDialog类的实例ofd。(2)设置ofd实例的Filter属性的值为“文本文件(*.txt)|*.txt|All files(*.*)|*.*”,即只选择文本文件。(3)设置ofd实例的默认扩展名为txt,即默认类型为文本文件。(4)调用ofd实例的ShowDialog()方法显示打开文件对话框。(5)在tbFile控件中显示被打开文件的路径(即ofd实例的FileName属性的值)。在“对话框”对话框中,单击“浏览文件”按钮可以弹出“打开”对话框,并选择“新建 文本文件”

22、。单击“打开”按钮,关闭“打开”对话框。此时,tbFile控件显示被打开文件的路径。保存文件对话框由Windows窗体SaveFileDialog组件实现,它与Windows使用的标准“保存文件”对话框相同。保存文件对话框包括2个常用属性,具体说明如下表所示。属 性描 述 CreatePrompt 如果用户指定不存在的文件,对话框是否提示用户允许创建该文件 OverwritePrompt 如果用户指定的文件名已存在,保存文件对话框是否显示警告用户单击“保存为”按钮可以弹出“另存为”对话框,该功能由“保存为”按钮(btnSave控件)的btnSave_Click(object sender,Ev

23、entArgs e)事件实现。具体步骤如下:(1)创建SaveFileDialog类的实例sfd。(2)设置sfd实例的Filter属性的值为“文本文件(*.txt)|*.txt|All files(*.*)|*.*”,即只选择文本文件。(3)设置sfd实例的默认扩展名为“txt”,即默认类型为文本文件。(4)调用sfd实例的ShowDialog()方法显示保存文件对话框。(5)打开用户所选择的文件,并保存为fs变量(类型为FileStream)。(6)读取rtbMessage控件的内容,并转换为元素类型为byte类型的数组data。(7)调用fs实例的Write()方法将data数组的内容写

24、入到用户选择的文件。(8)关闭fs实例。在“对话框”对话框中,单击“保存为”按钮可以弹出“另存为”对话框,并选择“新建 文本文件”文本文件。单击“保存”按钮,弹出对话框。该对话框询问用户是否要替换已存在的文件。如果单击“是”按钮,将替换被选择的文件。否则,取消这次保存文件的操作。目录浏览对话框用来显示一个用于浏览和选择文件夹的模式对话框。它由Windows窗体FolderBrowserDialog组件实现。目录浏览对话框的常用属性具体说明如下表所示。属 性描 述SelectedPath用户选定的路径ShowNewFolderButton指示是否显示“新建文件夹”按钮Description对话框

25、中在树视图控件上显示的说明文本RootFolder从其开始浏览的根文件夹用户单击“目录浏览”按钮,可以弹出“浏览文件夹”对话框。该功能由“目录浏览”按钮(btnFolder控件)的btnFolder_Click(object sender,EventArgs e)事件实现。具体步骤如下:(1)创建FolderBrowserDialog类的实例fbd。(2)调用fbd实例的ShowDialog()方法显示浏览文件夹对话框。(3)tbFolder控件显示用户所选文件夹的路径(即fbd实例的SelectedPath属性的值)。在“对话框”对话框中,单击“目录浏览”按钮可以弹出“浏览文件夹”对话框,并

26、选择“桌面”图标。单击“确定”按钮,关闭“浏览文件夹”对话框。此时,tbFolder控件显示用户所选文件夹的路径。对话框窗体用于与用户交互和检索信息。此处,笔者用DialogForm.cs窗体实现。DialogForm.cs窗体的标题为“对话框”,该窗体包括1个Label控件、2个TextBox控件、1个RichTextBox控件和5个Button控件。具体说明如下表所示。序号控 件 类 型Name属性Text属性事 件1LabellbMessage这是一段文本:我喜欢C#语言2TextBoxtbFile3TextBoxtbFolder4RichTextBoxrtbMessage5Button

27、btnColor设置颜色btnColor_Click(object sender,EventArgs e)6ButtonbtnFont设置字体b t n F o n t _ C l i c k(o b j e c t sender,EventArgs e)7ButtonbtnFile浏览文件b t n F i l e _ C l i c k(o b j e c t sender,EventArgs e)8ButtonbtnSave保存为btnSave_Click(object sender,EventArgs e)9ButtonbtnFolder浏览目录btnFolder_Click(obje

28、ct sender,EventArgs e)运行Chapter22 Windows窗体应用程序之后,选择“对话框”命令,可打开“对话框”对话框(DialogForm.cs窗体)。容器是指在这些控件上面可以放置其他控件。Windows系统中有三个常用的容器控件:面板、组合框和选项卡。本节我们来学习这三种容器控件。面板(Panel)控件用于为其他控件提供可识别的分组。开发Windows应用程序时,通常使用面板控件按功能细分窗体。在窗体设计时,所有控件都可以自由移动,当移动面板时,它包含的所有控件也将随着移动。默认情况下,面板控件不显示任何边框。如果要显示边框,则需要设置其BorderStyle属性

29、的值。特别地,面板控件不显示标题。面板控件包括以下3个常用属性。AutoSizeMode属性:指定控件的自动调整大小行为。BorderStyle属性:指定控件的边框样式。TabStop属性:指定用户能否使用Tab键将焦点放到该控件上。【示例6-7】下面创建一个面板控件,它的Name属性的值为pLeft,Dock属性的值为DockStyle.Left,宽度和高度分别为228和266。01 System.Windows.Forms.Panel pLeft=new System.Windows.Forms.Panel();02 pLeft.Name=pLeft;03 pLeft.Dock=Syste

30、m.Windows.Forms.DockStyle.Left;04 pLeft.Size=new System.Drawing.Size(228,266);05 pLeft.Location=new System.Drawing.Point(0,0);/设置起始位置06 pLeft.TabIndex=0;/设置TabIndex属性的值组合框控件是C#中用来组织其他控件形成一个控件组。当组合框移动时,该控件组同时移动,不会产生其他的位移。组合框控件最典型的用途是用作一组单项按钮的容器,并指定为一个逻辑组,组内的单项按钮互相排斥。组合框控件包括以下8个常用属性。AllowDrop属性:指定控件是否

31、允许使用拖放操作和事件。AutoSize属性:指定控件是否根据其内容调整大小。AutoSizeMode属性:当控件启用AutoSize属性时,指定控件的行为方式。DisplayRectangle属性:获取控件的维度的矩形。FlatStyle属性:获取或设置控件的平面样式外观。TabStop属性:指定用户能否使用Tab键将焦点放到该控件上。Text属性:控件的标题。UseCompatibleTextRendering属性:指定是否使用了兼容文本呈现控件的标题。【示例6-8】下面创建一个组合框控件,它的Name属性的值为gbMain,Dock属性的值为DockStyle.Fill,宽度和高度分别为

32、224和266。01 System.Windows.Forms.GroupBox gbMain=new 02 System.Windows.Forms.GroupBox();03 gbMain.Name=gbMain;04 gbMain.Text=选项:;/设置控件的标题05 gbMain.Dock=System.Windows.Forms.DockStyle.Fill;06 gbMain.Location=new System.Drawing.Point(0,0);/设置起始位置07 gbMain.Size=new System.Drawing.Size(224,266);08 gbMain

33、.TabIndex=0;/设置TabIndex属性的值09 gbMain.TabStop=false;注意:组合框控件和面板控件的最大区别在于组合框控件可以显示标题,而面板控件可以显示滚动条。TabControl控件主要用于窗体内容比较多的场合,通过一个个的“标签”分门别类的显示不同的内容。通过右击TabControl控件即可添加或删除选项卡。TabControl控件包括以下3个常用属性。SelectedIndex属性:当前选定的选项卡页的索引。SelectedTab属性:当前选定的选项卡页。TabPages属性:TabControl控件中选项卡页的集合。注意:调用选项卡页的Hide()方法不

34、能够隐藏选项卡。若要隐藏选项卡,则必须从TabControl控件的TabPages集合中隐藏该选项卡页控件。容器窗体是在容器控件上添加别的控件。在此,笔者用ContainForm.cs窗体实现,介绍了面板、组合框、选项卡等控件的使用方法。该窗体的标题为“容器”,它包括1个TabControl控件、3个Tabpage、1个TextBox控件、1个RichTextBox控件、1个PictureBox、1个GroupBox、3个RadioButton和2个Panel控件。具体说明如下表所示。序号控 件 类 型Name属性Text属性事 件1TabControltctc_SelectedIndexCh

35、anged(object sender,EventArgs e)2TabPagetp13TabPagetp24TabPagetp35TextBoxTextBox16RichTextBoxRichTextBox17PictureBoxpb8GroupBoxgbMain9RadioButtonrb1rb_CheckedChanged(object sender,EventArgs e)10RadioButtonrb2rb_CheckedChanged(object sender,EventArgs e)11RadioButtonrb3rb_CheckedChanged(object sender,

36、EventArgs e)12PanelpLeft13PanelpMain运行Chapter22 Windows窗体应用程序之后,单击“容器”命令即可打开“容器”对话框(ContainForm.cs窗体)。选择“选项卡二”单选按钮或者“选项卡二”选项卡,“容器”对话框有相应变化。选择“选项卡三”单选按钮或者“选项卡三”选项卡,“容器”对话框有相应变化。当用户选择“选项卡一”或“选项卡二”或“选项卡三”单选按钮时,都触发rb_CheckedChanged(object sender,EventArgs e)事件。该事件将当前选项卡设置为与被单选按钮相对应的选项卡(选项卡的名称和单选按钮的文本相同)

37、,具体步骤如下:(1)使用foreach语句处理pMain控件的所有子控件。(2)如果当前控件的类型为RadioButton控件,则获取该控件,并保存为rb变量。(3)如果rb控件被选中,则设置与该控件相对应的选项卡。当用户选择“选项卡一”或“选项卡二”或“选项卡三”选项卡时,都触发tc_SelectedIndexChanged(object sender,EventArgs e)事件。该事件将当前单选按钮设置为与选项卡相对应的单选按钮(单选按钮的文本和选项卡的名称相同),具体步骤如下:使用foreach语句处理pMain控件的所有子控件。如果当前控件的类型为RadioButton控件,则设置

38、与当前控件文本相同的单选按钮的Checked属性为true。菜单和工具栏是应用程序中必不可少的部分,它为快速访问程序的功能提供了遍历。菜单和工具栏也属于控件范畴,它的列表中包含了用于创建菜单和工具栏的控件。本节我们来学习菜单控件、工具栏控件、上下文菜单控件的使用方法。菜单通常位于程序标题栏的下方。添加主菜单使用的是MenuStrip控件,此控件将应用程序命令分组,从而使它们更容易访问。如果要为某一个窗体添加菜单控件,只要将菜单(MenuStrip)控件从“工具箱”面板中直接拖放到窗体上即可。在此,笔者向MainForm.cs窗体添加了一个菜单,并设置它的Name属性的值为msMain。msMa

39、in菜单包括以下3个子菜单。对话框:Name属性的值为tsmiDialog,单击该控件触发tsmiDialog_Click(ob-ject sender,EventArgs e)事件。容器:Name属性的值为tsmiContain,单击该控件触发tsmiContain_Click(ob-ject sender,EventArgs e)事件。数据网格视图:Name属性的值为tsmiDgv,单击该控件触发tsmiDgv_ Click(object sender,EventArgs e)事件。设计msMain菜单之后,可以在MainForm.cs窗体查看该菜单。单击msMain菜单的3个子菜单:“对

40、话框”、“容器”和“数据网格视图”,分别弹出“对话框”、“容器”和“数据网格视图”对话框。这些功能分别由它们的Click事件实现。工具栏通常位于主菜单的下方,提供的是主菜单中最常用的相关工具。工具栏由ToolStrip控件来实现,它可以在Windows窗体应用程序中承载菜单、控件和用户常用的工具条。如果要为某一个窗体添加工具栏,只要将工具栏(ToolStrip)控件从“工具箱”面板中直接拖放到窗体上即可。在此,笔者向MainForm.cs窗体添加了一个工具栏,并设置它的Name属性的值为tsMain。tsMain菜单包括以下3个图像按钮。“”按钮:Name属性的值为tsbDialog,单击此按

41、钮打开“对话框”对话框。“”按钮:Name属性的值为tsbContain,单击此按钮打开“容器”对话框。“”按钮:Name属性的值为tsbDGV,单击此按钮打开“数据网格视图”对话框。注意:单击上述3个图像按钮时,都触发tsMain控件的tsMain_ItemClicked(object sender,ToolStripItemClic-kedEventArgs e)事件。设计tsMain菜单之后,在MainForm.cs窗体可以查看该菜单。单击tsMain菜单的3个图像按钮,分别弹出“对话框”、“容器”和“数据网格视图”对话框。这些功能分别由tsMain控件的tsMain_ItemClick

42、ed(object sender,ToolStripItemClickedEventArgs e)事件实现。上下文菜单是C#中另外一种菜单,也叫弹出菜单或右键菜单。上下文菜单指的是在右击相应的控件时弹出的菜单,由ContextMenuStrip类型实现。如果要为某一个窗体添加上下文菜单,只要将上下文菜单(ToolStrip)控件从“工具箱”面板中直接拖放到窗体上即可。在此,笔者向MainForm.cs窗体添加了一个上下文菜单,并设置它的Name属性的值为cmsMain。cmsMain菜单包括以下4个菜单和1个分隔线。“剪切”菜单:Name属性的值为tsmiCut,单击此菜单触发tsmiCut_

43、Click(object sender,EventArgs e)事件。“复制”菜单:Name属性的值为tsmiCopy,单击此菜单触发tsmiCopy_Click(object sender,EventArgs e)事件。“粘贴”菜单:Name属性的值为tsmiPaste,单击此菜单触发tsmiPaste_Click(object sender,EventArgs e)事件。“-”分隔线。“选择所有”菜单:Name属性的值为tsmiAll,单击此菜单触发tsmiAll_Click(object sender,EventArgs e)事件。设计cmsMain菜单之后,在MainForm.cs窗体

44、查看该上下文菜单。右击rtbDesn控件,显示该上下文菜单。单击tsMain菜单的4个菜单:“剪切”、“复制”、“粘贴”和“选择所有”,分别实现剪切、复制、粘贴和选择所有rtbDesn控件中的文本的功能。这4个功能分别由它们的Click事件实现。按下F5键或者单击Microsoft Visual Studio 2010集成开发环境中的调试运行按钮即可运行Chapter22 Windows窗体应用程序。该应用程序运行之后,显示的第一个窗口为WaittingForm窗口,然后跳转为MainForm窗口。本章主要介绍了Windows窗体应用程序,如Windows窗体应用程序概述、Windows窗体基本控件、MainForm.cs窗体设计、菜单和工具栏、容器、对话框等。其中,重点是要掌握Windows窗体基本控件、菜单、工具栏、容器、对话框的使用方法,为后续编写功能强大的Windows应用程序奠定基础。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(C#程序设计课件第6章 Windows窗体程序.pptx)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|