《第七章 Windows程序应用基础.ppt》由会员分享,可在线阅读,更多相关《第七章 Windows程序应用基础.ppt(35页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、11 1第第7章章 C#Windows应用程序基础应用程序基础22 2图形用户界面33 3图形用户界面vv界面一致性界面一致性界面一致性界面一致性 协调一致、尽量使用标准控件协调一致、尽量使用标准控件协调一致、尽量使用标准控件协调一致、尽量使用标准控件vv布局合理化布局合理化布局合理化布局合理化 自上而下、从左到右自上而下、从左到右自上而下、从左到右自上而下、从左到右vv操作简便性操作简便性操作简便性操作简便性 避免重复操作、尽可能提供缺省值、候选项避免重复操作、尽可能提供缺省值、候选项避免重复操作、尽可能提供缺省值、候选项避免重复操作、尽可能提供缺省值、候选项vv操作容错性操作容错性操作容错
2、性操作容错性 恢复功能、确认恢复功能、确认恢复功能、确认恢复功能、确认vv响应时间响应时间响应时间响应时间 图标提示图标提示图标提示图标提示vv帮助和提示帮助和提示帮助和提示帮助和提示44 4图形用户界面Size/SizeFSize s1=new Size(3,2);Size s2=new Size(2,2);55 5图形用户界面Size/SizeFSize s1=new Size(3,2);Size s2=new Size(2,2);Size s3=s1+s2;66 6图形用户界面Point/PointFPoint p1=new Point(2,3);p1+=new Size(3,2);77
3、 7图形用户界面ColorColor.Black;Color.FromArgb(0,0,0);Color.Red;Color.FromArgb(255,0,0);Color.Green;Color.FromArgb(0,176,80);88 8图形用户界面Font/FontFamilyFont f1=new Font(“Times New Roman”,15);Font f2=new Font(“宋体”,16);Font f3=new Font(“隶书”,18,FontStyle.UnderLine);Font f4=new Font(“Arial”,18,FontStyle.Bold|Fon
4、tStyle.Italic);foreach(FontFamily f in FontFamily.Families)this.listBox1.Items.Add(f.Name);99 9Windows窗体、消息框和对话框FormTextControlBox MinimizeBoxMaximizeBoxSizeLocation101010Windows窗体、消息框和对话框FormBackColorForeColorFontFormBorderStyle111111Windows窗体、消息框和对话框MessageBoxMessageBox.Show(A);121212Windows窗体、消息框
5、和对话框MessageBoxMessageBox.Show(A,B);131313Windows窗体、消息框和对话框MessageBoxMessageBox.Show(A,B,MessageBoxButtons.YesNoCancel);141414Windows窗体、消息框和对话框MessageBoxMessageBox.Show(A,B,MessageBoxButtons.YesNoCancel,MessageBoxIcon.Question);151515Windows窗体、消息框和对话框ColorDialogColorDialog dlg1=new ColorDialog();if(d
6、lg1.ShowDialog()=DialogResult.OK)this.ForeColor=dlg1.Color;161616Windows窗体、消息框和对话框FontDialogFontDialog dlg1=new FontDialog();if(dlg1.ShowDialog()=DialogResult.OK)this.Font=dlg1.Font;171717常用Windows控件ControlLabelTextBoxBaseTextBoxRichTextBoxButtonBaseButtonCheckBoxRadioButtonListControlListBoxComboBo
7、x181818常用Windows控件LabelTextBoxRichTextBoxNumericUpDown191919Demo 202020常用Windows控件ButtonCheckBoxRadioButton212121Demo 222222常用Windows控件ComboBoxListBox232323Demo 242424菜单、工具栏和状态栏MenuStripToolStripStatusStrip252525菜单、工具栏和状态栏MenuStripToolStripStatusStripMenuStripItemToolStripItemToolStripStatusLabel262
8、626Demo 27GDI+绘图vGDI(Graphic Device Interface,图形设备接口)是用于绘图的一系列系统功能函数的总称,由Windows操作系统提供。vGDI+是下一代Windows的绘图程序,将各种绘图功能井井有条地封装在一个个的类中,以面向对象向应用程序提供绘图支持。v目前,可以把GDI+看成是对原有GDI技术的一个面向对象的封装,以后,将不再依赖于GDI,因为Windows Vista不再使用NT内核,而是使用.NET Framework。28GDI绘图基础知识v所有GDI+对象都位于特定的命名空间中:System.Drawing:提供了对 GDI+基本图形功能的
9、访问。System.Drawing.Design:包含扩展设计时用户界面(UI)逻辑和绘制的类。System.Drawing.Drawing2D:提供高级的二维和矢量图形功能。System.Drawing.Imaging:提供高级 GDI+图像处理功能。System.Drawing.Printing:提供与打印相关的服务。System.Drawing.Text 命名空间提供高级 GDI+排版功能。具体请参阅MSDN。29屏幕坐标xy(0,0)30Graphics对象vGraphics对象是GDI+绘图中的核心对象。要使用计算机绘图,必须首先创建Graphics对象。v有两种方法可以创建Grap
10、hics对象:从Paint事件中e参数中获取Paint事件在窗体或控件需要重绘时发生。用CreateGraphics方法创建v下面来看两个示例:31示例:在窗体上画矩形private void Form1_Paint(object sender,System.Windows.Forms.PaintEventArgs e)/获取Graphics对象Graphics g=e.Graphics;/书写绘图代码g.DrawRectangle(Pens.Blue,10,10,200,150);/释放Graphics对象所占用的资源g.Dispose();32示例:在按钮上画椭圆private void
11、button1_Click(object sender,System.EventArgs e)Graphics g=button1.CreateGraphics();/画一个椭圆g.DrawEllipse(Pens.Red,5,5,button1.Width-10,button1.Height-10);g.Dispose();33画笔(Pen)vPen用于指定绘制图形的线条。Pen pen1=new Pen(Color.Red);Pen pen2=new Pen(Color.Blue,5);第1个画笔是红色的,1个像素宽度第2个画笔是蓝色的,5个像素宽度34画笔(Pen)vPen对象创建后,还
12、可以指定不同的属性,绘制不同类型的线条。/创建一支宽10像素的笔Pen pen3=new Pen(Color.Brown,10);/笔的起点为三角形pen3.StartCap=LineCap.Triangle;35画刷(Brush)v画刷(Brush)用于填充图形。.NET支持以下几种画刷:纯色画刷(SolidBrush):用RGB颜色填充图形图案画刷(HatchBrush):用Windows提供的几个典型填充图案填充颜色,如斜线、网格等。纹理画刷(TextureBrush):使用纹理(小图片)填充图形。渐变画刷(LinerGradientBrush):使用平滑过渡颜色填充图形路径渐变画刷(PathGradientBrush):基于某一路径,使用复杂的混合色渐变填充图形Example:SolidBrush myBrush=new SolidBrush(Color.Red);g.FillRectangle(myBrush,new Rectangle(100,100,50,50);