菜单、工具栏、窗体和对话框.ppt_第1页
菜单、工具栏、窗体和对话框.ppt_第2页
菜单、工具栏、窗体和对话框.ppt_第3页
菜单、工具栏、窗体和对话框.ppt_第4页
菜单、工具栏、窗体和对话框.ppt_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1,第6章菜单、工具栏、窗体和对话框,VisualC#程序设计,2,6.1菜单(Menu),菜单是程序中显示一个选项列表的图形元素,它提供了将命令分组的一致方法,一个菜单可以带有若干子菜单,称作菜单项(MenuItem),便于用户访问,同时也支持快捷键。,3,6.1.1MenuStrip控件,MenuStrip控件主要用于生成所在窗体的主菜单。在设计窗体中添加该控件后,会在窗体上显示一个菜单栏,可以直接在此菜单栏上编辑各主菜单项及对应的子菜单项,当菜单的结构建立起后,再为每个菜单项编写事件代码,即可完成窗体的菜单设计。,4,编辑各菜单项内容时,可以用符号“richTextBox1.Clear();richTextBox1.Focus();privatevoid打开OToolStripButton_Click(objectsender,EventArgse)/保存的代码,23,privatevoid保存SToolStripButton_Click(objectsender,EventArgse)/保存的代码,24,privatevoid剪切UToolStripButton_Click(objectsender,EventArgse)richTextBox1.Cut();privatevoid复制CToolStripButton_Click(objectsender,EventArgse)richTextBox1.Copy();privatevoid粘贴PToolStripButton_Click(objectsender,EventArgse)richTextBox1.Paste();,25,(4)添加“toolStripComboBox字体”的TextChanged事件,代码如下:privatevoidtoolStripComboBox字体_TextChanged(objectsender,EventArgse)FontFamilymyfontfamily=richTextBox1.SelectionFont.FontFamily;switch(toolStripComboBox字体.Text)case大字体:richTextBox1.Font=newFont(myfontfamily,40,System.Drawing.FontStyle.Regular);break;case小字体:richTextBox1.Font=newFont(myfontfamily,8,System.Drawing.FontStyle.Regular);break;case适中字体:richTextBox1.Font=newFont(myfontfamily,24,System.Drawing.FontStyle.Regular);break;,26,privatevoidtoolStripButtonUndo_Click(objectsender,EventArgse)this.richTextBox1.Undo();privatevoidtoolStripButtonRedo_Click(objectsender,EventArgse)this.richTextBox1.Redo();,27,NotifyIcon控件通常用于显示在后台运行的进程的图标,这些进程大部分时间不显示用户界面。每个NotifyIcon控件都在状态栏区域显示一个图标。如果有3个后台进程,并希望为每个后台进程各显示一个图标,则需要添加3个NotifyIcon控件。,6.3NotifyIcon托盘控件,28,常用属性:,29,例6-41、新建应用程序取名NotifyIcon。2、修改窗体的text属性值为“演示如何使用托盘控件”3、向窗体中添加一个菜单控件menuStrip1,一个托盘控件notifyIcon1和一个contextMenuStrip14、编辑menuStrip1,如下图所示:,30,5、修改notifyIcon1的text属性为“演示如何使用托盘控件”,Visible属性修改为false,初始时在任务栏处不可见,Icon属性选择一个自己喜欢的图标,ContextMenuStrip属性为contextMenuStrip1(设置快捷菜单)。6、contextMenuStrip1控件的几个菜单项和MenuStrip1相同7、编写代码:privatevoid放置到系统托盘NToolStripMenuItem_Click(objectsender,EventArgse)/显示托盘图标this.Visible=false;/窗体不可见this.notifyIcon1.Visible=true;,31,privatevoid恢复正常显示RToolStripMenuItem_Click(objectsender,EventArgse)this.Visible=true;/显示主窗体this.notifyIcon1.Visible=false;/托盘不可见privatevoid托盘和窗体同时显示TToolStripMenuItem_Click(objectsender,EventArgse)/托盘和窗体同时显示this.Visible=true;this.notifyIcon1.Visible=true;,32,privatevoid关闭CToolStripMenuItem_Click(objectsender,EventArgse)/关闭应用程序this.notifyIcon1.Visible=false;this.Close();Application.Exit();8、contextMenuStrip1的几个菜单项的click事件和MenuStrip1的相同。设置方法:分别选中这几个菜单项,在事件选项卡中找到click事件,然后在下拉列表框中选择MenuStrip1中相对应的已经写完代码的事件即可。,33,在C#中可以使用状态栏控件StatusStrip在窗体上创建状态栏,StatusStrip控件上可以显示指示状态的文本、图标、进度条或者指示进程正在工作的动画图标。例如,MicrosoftWord中保存文档时,下面出现一个磁盘的小动画图标。状态栏可以由若干个ToolStripStatus(面板)对象组成,显示为状态栏中一个个小窗格,每个ToolStripStatus中可以显示一种状态信息。,6.4StatusStrip控件,34,添加一个StatusStrip控件后,窗体底端会出现一个状态栏,单击状态栏上的小箭头、弹出下拉菜单,有四种面板可供选择,单击某项即可添加到状态栏上。最常用的面板是StatusLabel(标签面板)。,35,1.StatusStrip控件的常用属性Items属性:用于添加ToolStripStatus面板,在StatusStrip控件属性窗口中单击Items属性右侧的按钮,打开项集合编辑器进行面板的编辑。,2.ToolStripStatus常用属性AutoSize:决定是否自动根据内容调整大小BorderStyle:设定面板边框的样式平面,Flat(缺省)平面边框,Sunken三维凹陷边框,Raised三维凸起边框等,36,例6-5状态栏的使用1、创建一个窗体FrmStatusStrip。2、在该窗体中添加一个TextBox、两个Button和一个状态栏,并在StatusStrip上添加两个Label面板和一个ProgressBar面板,分别用于显示文字,鼠标位置和进度条。其中button1用来将TextBox中的内容显示到状态栏上;button2则用来增加进度条的进度,当进度满时,从0再次开始增长。,37,3、代码如下privatevoidbutton1_Click(objectsender,EventArgse)toolStripStatusLabel1.Text=textBox1.Text;privatevoidbutton2_Click(objectsender,EventArgse)toolStripProgressBar1.Value=toolStripProgressBar1.Value%100+10;,38,privatevoidStaStrip1_MouseMove(objectsender,MouseEventArgse)intxPos=Cursor.Position.X;intyPos=Cursor.Position.Y;toolStripStatusLabel2.Text=鼠标位置:X=+xPos.ToString()+Y=+yPos.ToString();,39,6.6对话框,在Windows系统中,应用程序如果需要用户选择一个文件或者文件夹,通常都会弹出一个选择对话框。由于这些对话框的通用性,VisualC#提供了对话框控件来快速创建对话框。常用的控件有打开文件对话框、存储文件对话框、浏览文件对话框等。,40,打开文件对话框控件(OpenFileDialog)是一个预先定义的对话框类,包括显示样式和方法等。它与Windows中常见的“打开文件”对话框相同。在Windows应用程序中可将该组件用作简单的文件选择方案,快速创建用户所熟悉的应用程序。可使用ShowDialog方法在运行时显示该对话框。注意:使用OpenFileDialog控件,只能获取要打开的文件路径,而文件的打开逻辑必须由程序员编写。,1、打开文件对话框控件(OpenFileDialog),OpenFileDialog控件基本属性,42,OpenFileDialog控件基本事件,43,创建一个窗体,在该窗体中添加一个TextBox、一个richTextBox、一个按钮和一个OpenFileDialog。单击按钮可以激活OpenFileDialog并选择文件。,【例6-7】打开文件对话框(OpenFileDialog)例子,privatevoidbutton1_Click(objectsender,EventArgse)if(openFileDialog1.ShowDialog()=DialogResult.OK)textBox1.Text=openFileDialog1.FileName;richTextBox1.LoadFile(openFileDialog1.FileName,RichTextBoxStreamType.RichText);,44,存储文件对话框(SaveFileDialog)与Windows的“保存文件”对话框相同。使用该控件可使用户能够选择保存文件的路径,但是使用SaveFileDialog控件时,程序员也必须编写文件保存逻辑。与打开文件对话框类似,可使用ShowDialog方法在运行时显示该对话框。,2、存储文件对话框(SaveFileDialog),45,SaveFileDialog控件基本属性,46,SaveFileDialog控件基本事件,47,创建一个窗体,在该窗体中添加一个TextBox、一个richTextBox、一个按钮和一个SaveFileDialog。单击“浏览”按钮可以激活SaveFileDialog并选择文件存储路径。,【6-8】存储文件对话框(SaveFileDialog)例子,privatevoidbutton2_Click(objectsender,EventArgse)if(saveFileDialog1.ShowDialog()=DialogResult.OK)textBox1.Text=saveFileDialog1.FileName;richTextBox1.SaveFile(saveFileDialog1.FileName,RichTextBoxStreamType.RichText);,48,浏览文件夹对话框(FolderBrowserDialog)是用于浏览和选择文件夹的模式对话框。与前面两个对话框一样,使用ShowDialog方法可在运行时显示FolderBrowserDialog控件。,3、浏览文件夹对话框(FolderBrowserDialog),常用属性:SelectedPath:可获取所选文件夹的路径。RootFolder:可确定将出现在对话框树形视图内的顶级文件夹和任何子文件夹。ShowNewFolder:是否显示新建文件夹按钮,默认值为true。,49,创建一个窗体,在该窗体中添加一个TextBox、一个按钮和一个FolderBrowserDialog。单击“浏览”按钮可以激活FolderBrowserDialog并选择文件夹路径,如果用户在选择对话框中确认了选择,则将选定的文件路径显示到TextBox中。,【6-9】浏览文件夹对话框例子,privatevoidbutton3_Click(objectsender,EventArgse)if(folderBrowserDialog1.ShowDialog()=DialogResult.OK)textBox1.Text=folderBrowserDialog1.SelectedPath;,50,(1)字体对话框(FontDialog)常用属性ShowColor:控制是否显示颜色选项,默认值为false。AllowScriptChange:是否显示字体的字符集Font:在对话框显示的字体Color:在对话框中选择的字体颜色FontMustExist:当字体不存在时是否显示错误MaxSize:可选择的最大字号MinSize:可选择的最小字号ShowApply:是否显示“应用”按钮ShowEffects:是否显示下划线、删除线、字体颜色选项ShowHelp是否显示“帮助按钮,4、字体对话框(FontDialog),51,(2)字体对话框(FontDialog)的事件Apply:当点击应用按钮时要处理的事件HelpRequest:当点击帮助按钮时要处理的事件(3)字体对话框(FontDialog)的效果,52,(4)实现代码privatevoidbutton4_Click(objectsender,EventArgse

温馨提示

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

评论

0/150

提交评论