第五章用户界面设计_第1页
第五章用户界面设计_第2页
第五章用户界面设计_第3页
第五章用户界面设计_第4页
第五章用户界面设计_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

1、1第五章 用户界面设计 本章目录5.1 用户界面概述5.2 菜单设计5.3 对话框设计 5.4 工具栏 5.5 综合应用 5.6 自主学习鼠标和键盘5.1 用户界面概述2例5.1 记事本程序 演示主菜单菜单项下拉式菜单MenuStrip3弹出式菜单ContextMenuStrip4通用对话框5自定义对话框6工具栏界面设计预定义类7本章目录System.Windows.Forms命名空间界面元素控件说明菜单MenuStripContextMenuStrip下拉式菜单弹出式菜单通用对话框OpenFileDialogSaveFileDialogFontDialogColorDialog打开文件对话框

2、保存文件对话框字体对话框颜色对话框工具栏ToolStrip工具栏5.2 菜单设计8MenuStrip下拉式菜单本章目录ContextMenuStrip弹出式菜单5.2.1 菜单设计概述菜单项的设置9热键 &热键字符 输入:新建(&N) 显示:新建(N) N为热键本章目录重要属性(1)Text设置菜单项文本 (2) ShortcutKeys设置快捷键重要事件事件Click 为菜单项编写程序 仅在当前控件中起作用(如Alt+F打开”文件”菜单后,直接按N键”新建”)在当前活动的程序中起作用;特殊:系统级快捷键,Ctrl+C;Alt+Tab;Wins+U10例5.2 设计例5.1的菜单项本章目录5.

3、2.2 创建下拉式菜单菜单显示 快捷键菜单显示 快捷键菜单显示 菜单显示 文件(F)编辑(E)格式(O)帮助(H)新建(N)Ctrl+N剪切(T)Ctrl+X 字体(F)关于(A)打开(O)Ctrl+O复制(C)Ctrl+C颜色(C)更多帮助另存为(A)Ctrl+S粘贴(P)Ctrl+V分隔线退出(X)在标题栏输入-(减号);或在菜单项上右击鼠标,”插入-Separator”下拉式菜单的建立过程:在窗体上放置一个MenuStrip控件设计菜单 Text设置菜单项的属性 ShortcutKeys编写菜单项的事件过程 Click private void FileNew_Click()/“新建”菜

4、单项的事件过程 textBox1.Text = ; textBox1.Focus();private void FileExit_Click()/“退出”菜单项的事件过程 Application.Exit();11string s;private void EditCut_Click() /剪切事件 s = textBox1.SelectedText ;/将选中的内容存放到变量s中 textBox1. SelectedText = “”;/将选中的内容清除实现剪切private void EditCopy_Click() /复制事件 s = textBox1. SelectedText ;pr

5、ivate void EditPaste_Click() /粘贴事件 textBox1. SelectedText = s; /将s中的内容赋值给光标所在的SelectedText,实现粘贴12本章目录5.2.3 创建弹出式菜单private void FileNew_Click()/ “新建(N)”菜单项的事件过程textBox1.Text = ;textBox1.Focus();例5.3 设计例5.1的弹出式菜单弹出式菜单的建立过程:在窗体上放置一个ContextMenuStrip控件设置菜单项的属性 Text、ShorcutKeys 建立弹出式菜单与文本框之间的关联编写(或共享)菜单项的

6、事件过程 Click 选定textBox1文本框,将其ContextMenuStrip属性设置为contextMenuStrip1。5.3 对话框设计13本章目录通用对话框自定义对话框通用对话框控件颜色对话框目录浏览对话框字体对话框打开文件对话框保存文件对话框打印页面设置对话框打印预览对话框145.3.1通用对话框15创建通用对话框:将控件拖到窗体上本章目录通用对话框的使用例如: openFileDialog1.ShowDialog();16DialogResult.OK DialogResult.Cancel 弹出对话框:ShowDialog方法返回对话框的选择结果功能:信息交互,是输入输出

7、的界面,但实际的功能需要编程实现。1. 打开文件对话框OpenFileDialog控件重要属性 :(1) FileName 设置初始打开的文件名,也可返回从对话框当前文件列表中选择的文件名。包含了文件路径。 (2) Filter 确定所显示文件的类型 ,例如:Doc Files(*.docx)|*.docx|Text Files(*.txt)|*.txt|所有文件|*.*显示word文档、文本文件和所有文件(4) InitialDirectory 设置文件对话框的初始目录(5) Title获取或设置对话框的标题(3) FilterIndex 设置或获取文件过滤器索引openFileDialog

8、1.FilterIndex = 3;openFileDialog1.FileName = “123;openFileDialog1.Filter = Doc Files|*.docx|Text Files|*.txt|All Files|*.*;openFileDialog1.InitialDirectory = c:;例5.5 为引例中的“打开”菜单项编写事件过程。18private void FileOpen_Click() openFileDialog1.FileName = “123; openFileDialog1.InitialDirectory = c:; openFileDia

9、log1.Filter = Doc Files|*.docx|Text Files|*.txt|All Files|*.*; openFileDialog1.FilterIndex = 3; openFileDialog1.ShowDialog(); / 显示对话框 if (dr = DialogResult.OK) StreamReader sr = new StreamReader(openFileDialog1.FileName); textBox1.Text = sr.ReadToEnd();/ 读数据到文件结束 sr.Close();/ 关闭文件 本章目录属性设置,也可在属性窗口中设

10、置实际文件打开功能的实现编码19例5.4 编写一个应用程序,弹出打开文件对话框, 从中选择一个图片,能在图形框中显示该图片本章目录可以在属性窗口中设置openFileDialog1.FileName = 123;openFileDialog1.InitialDirectory = D:;openFileDialog1.Filter = Pictures|*.bmp;*.jpg|All Files|*.*;openFileDialog1.FilterIndex = 1;/显示“打开文件”对话框,并判断是否选择文件if (openFileDialog1.ShowDialog() = DialogR

11、esult.OK) pictureBox1.Image = Image.FromFile(openFileDialog1.FileName); else MessageBox.Show(没有选择文件);例5.6 为引例中的“另存为”菜单项编写事件过程。2. 保存文件对话框 20本章目录控件:SaveFileDialog属性与OpenFileDialog控件基本相同,特有属性是DefaultExt, 用于设置缺省的扩展名private void FileSaveAs_Click() saveFileDialog1.FileName = “123;/ 设置缺省文件名 saveFileDialog1

12、.DefaultExt = “txt ;/ 设置缺省扩展名 saveFileDialog1.ShowDialog();/ 打开对话框 if (dr = DialogResult.OK) StreamWriter sw = new StreamWriter(saveFileDialog1.FileName);sw.Write(textBox1.Text); / 将文本框中的内容写入文件 sw.Close(); / 关闭文件 属性设置,也可在属性窗口中设置实际文件保存功能的实现编码213. 颜色对话框 控件:ColorDialog重要属性:Color 用户选定的颜色,属于Color结构类型 例5.

13、7 为例5.1中的“颜色”菜单项编写事件过程。private void FormatColor_Click(object sender, EventArgs e)colorDialog1.ShowDialog();/ 打开颜色对话框textBox1.ForeColor = colorDialog1.Color; / 设置文件框前景颜色设置文件框前景颜色本章目录224. 字体对话框 控件:FontDialog例5.8 为例5.1中的“字体”菜单项编写事件过程。 private void FormatFont_Click(object sender, EventArgs e) fontDialog

14、1.ShowColor = true;/ 字体对话框上添加“颜色”选项fontDialog1.ShowDialog();/ 打开字体对话框textBox1.Font = fontDialog1.Font;/ 设置文本框的字体textBox1.ForeColor = fontDialog1.Color;/ 设置文件框字体颜色Font获取选择的字体Color 选定的颜色ShowColor控制是否有“颜色”选项总结菜单设计下拉式菜单 MenuStrip弹出式菜单 ContextMenuStrip通用对话框打开文件对话框 OpenFileDialog保存文件对话框 SaveFileDialog自定义对

15、话框及对话框间的数据传递?24创建自定义对话框 (1) 添加窗体: 项目添加Windows窗体 注意:一个项目中不能有相同名称的窗体本章目录5.3.2 自定义对话框 具有特殊属性的窗体添加Windows窗体,自定义设置属性使用.NET提供的模板,如对话框、“关于”框等本节使用第一种方法25(2)设置属性 本章目录属性值说明MaximizeBoxFalse取消最大化按钮MinimizeBoxFalse取消最小化按钮FormBorderStyleFixedDialog对话框大小固定26例 添加窗体Form2设置属性编写代码显示窗体:能否用下列语句显示Form2?本章目录(3) 窗体的实例化和显示

16、只有启动窗体的实例化是自动完成的,而其他窗体都需要通过代码实例化并进行显示Form2 f2 = new Form2(); / 定义f2为类Form2的对象变量,并创建一个实例赋予f2f2.ShowDialog();/显示f2Form2. ShowDialog();原因:Form2是一个类名,不是窗体名称(1)Show 以非模式方法显示窗体 窗体对象.Show(); 非模式 程序可继续执行(2)ShowDialog 以模式方法显示窗体 窗体对象.ShowDialog();模式 在关闭该窗体后才能对其它窗体进行操作(3)Hide 将窗体暂时隐藏(还在内存中) 窗体对象.Hide();(4) Clo

17、se 关闭窗体,释放内存 窗体对象.Close();27注意:this 关键字代表当前窗体,如 this.Hide();本章目录对话框的重要方法28例5.9 为例5.1设计一个如图1.5.9所示的对话框, 并且为“帮助关于”编写事件过程private void AboutDialog_Click(object sender, EventArgs e)Form2 Dialog = new Form2();Dialog.ShowDialog();本章目录窗体间切换例 实现”更多帮助”菜单项的功能29Form1中:主窗体切换至其它窗体private void 更多关于ToolStripMenuIte

18、m_Click() Form2 fr = new Form2(); fr.ShowDialog();项目|添加Windows窗体Form2中:其它窗体切换回主窗体private void button1_Click() this.Hide(); /this.Close(); 如何进行窗体间数据传递?305.4 工具栏 控件:ToolStrip ToolStrip控件是一个容器, 可以放置ToolStripBotton、ToolStripLabel等对象 本章目录例5.10 为例5.1配置一个工具栏(1) 建立ToolStrip控件(2) 创建图标按钮 选择Button (3) 设置属性 Ima

19、ge属性值是图标按钮中显示的图像 (4) 编写事件过程 一般与菜单项共享事件过程31本章目录private void toolStripButton1_Click(object sender, EventArgs e)textBox1.Text = ;textBox1.Focus();注意:可以在项目编辑器中设置属性 在工具栏的属性窗口选择编辑器 ToolStrip控件上还可以放置ToolStripLabel等对象。 ToolStripButton还有一个主要属性是ToolTipText(提示)325.5 综合应用 例5.11 根据菜单选项,实现产生数据、修改数据以及数据统计功能。本章目录分析

20、 界面设计 设置对象属性 对象事件过程及编程 程序调试和运行程序33三个窗体三个窗体间切换及数据传递菜单34主菜单菜单项下拉式菜单MenuStrip菜单设计过程35下拉式菜单的建立过程:在窗体上放置一个MenuStrip控件设计菜单并设置菜单项的属性编写菜单项的事件过程 36private void 随机产生10个数据ToolStripMenuItem_Click() listBox1. Items.Clear (); Random rm = new Random(); for (int i = 0; i 10; i+) listBox1. Items .Add (rm.Next(0, 101

21、); private void 删除最小值ToolStripMenuItem_Click() int min=(int)listBox1 .Items 0, minx = 0; for (int i = 1; i (int)listBox1.Itemsi) min = (int)listBox1.Itemsi; minx = i; listBox1. Items.RemoveAt(minx) ;清空列表框内容逐个产生随机数并加入到列表框找到列表框中的最小值的索引移除列表框中的最小值对话框37自定义对话框如何能在主窗体中访问自定义对话框中输入的数据?36int addi; addi=int.Pa

22、rse(textBox1.Text);/Form2.cs中public int addi;private void button1_Click() addi=int.Parse(textBox1.Text); /Form1.cs中Form2 fm2 = new Form2();fm2.addi38private void 添加数据ToolStripMenuItem_Click() Form2 fm2 = new Form2(); if (fm2.ShowDialog(this) = DialogResult.OK) listBox1.Items.Add( fm2.addi ); public

23、int addi;private void button1_Click() addi=int.Parse(textBox1.Text); Form1.cs中菜单项代码Form2.cs中主要代码对话框39自定义对话框如何能从主窗体中传递数据给自定义对话框?最小值:5最大值:93平均值:39.36/Form3.cs中public int min, max;public double ave;/Form1.cs中Form3 fm3 = new Form3();fm3.min = mini;fm3.max = maxi;fm3.ave = avei;40private void 统计ToolStrip

24、MenuItem_Click() Form3 fm3 = new Form3(); /*此处省略求listBox1中的最小值mini,最大值maxi, 和值sum*/ fm3.min = mini; fm3.max = maxi; fm3.ave = sum / listBox1.Items.Count; fm3.ShowDialog(this);public int min, max;public double ave;private void Form3_Load() textBox1.Text = min.ToString (); textBox2.Text =max.ToString

25、(); textBox3.Text = ave.ToString (0.00);Form1.cs中菜单项代码Form3.cs中主要代码对话框间数据传递41定义公共数据成员public 数据类型 变量名Form1:Form2:public int addi;读fm2.addiForm2 fm2 = new Form2();Form3:public int min, max;public double ave;Form3 fm3 = new Form3();写fm3.min写fm3.ave与类成员变量区别?42例5.12 多重窗体应用示例 本章目录从Form2读取成绩数据输出统计数据到Form3/

26、Form1.cs中public double math, chemi, eng, phy, chin;写入读出并计算43Form1.cs中主要代码public int math, chemi, eng, phy, chin;private void 输入成绩_Click() Form2 fm2 = new Form2(); fm2.ShowDialog( this );Form1 fm1 = (Form1)(this.Owner) ;fm1.math = Convert. ToDouble(textBox1.Text);fm1.chemi = Convert. ToDouble(textBox

27、2.Text);fm1.eng = Convert. ToDouble(textBox3.Text);fm1.phy = Convert. ToDouble(textBox4.Text);fm1.chin = Convert. ToDouble(textBox5.Text);this.Hide();Form2.cs中button1_Click ()代码44Form1.cs中主要代码private void 计算成绩_Click() Form3 fm3 = new Form3(); fm3.ShowDialog( this );private void Form3_Load() Form1 fm

28、1 = (Form1)this.Owner ; double total=fm1.math +fm1.chemi +fm1.eng +fm1.phy +fm1.chin; double ave = total/5; textBox1.Text = ave.ToString (); textBox2.Text = total.ToString ();Form3.cs中Load()代码对话框间数据传递45定义公共数据成员public 数据类型 变量名Form1:Form2:fm1.mathpublic double math, chemi, eng, phy, chin;Form3:fm2.ShowDialog( this );fm3.ShowDialog( this );Form1 fm1 = (Form1)(this.Owner) ;fm1.chemiForm1 fm1 = (Form1)(this.Owner) ;fm1.mathfm1.chemi另外的方法46修改控件的Modifiers属性为PublicForm1:Form2:sMath = Convert.ToDouble(fm2.textBox1.Text);47修改控件的Modifiers属性为PublicForm1:Form3:fm3.textBox1.Te

温馨提示

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

评论

0/150

提交评论