ImageVerifierCode 换一换
格式:PPT , 页数:103 ,大小:5.92MB ,
资源ID:748871      下载积分:11 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/748871.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(GUI图形用户界面设计基础PPT课件.ppt)为本站上传会员【胜****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

GUI图形用户界面设计基础PPT课件.ppt

1、 C#windows程序设计成都大学信息科学与技术学院软件工程系课程介绍n课程简介l本课程介绍使用 C#开发 Windows 应用程序所需的知识和技能n预备知识l掌握基本的C#语法l掌握数据库的基本知识l掌握面向对象的编程思想l能够使用Visual Studio.NET图形化界面开发环境课程要求n课时:56课时讲解内容nWinForm窗体介绍nWinForm窗体基本操作nWinForm控件的使用n对话框编程n菜单栏、工具栏、状态栏的使用nWindows线程程序设计n文件操作n数据库访问程序设计 (C/S程序设计)nGDI+图形图像处理n网络编程为什么要使用窗体n简单n强大n方便n灵活n什么是窗

2、体nWindows 操作系统中,处处是窗体 GUI编程概述.NET的功能和编程特点Visual Studio 2008 IDEVS解决方案和项目的组织结构.解决方案和项目文件 .sln、.suo、.cs、.csproj、.aspx、.asmx、.resx等。解决方案和项目文件扩展名描述.csVisual C#源程序文件 表示属于单个项目的窗体、用户控件、类和模块文件。.slnVisual Studio解决方案文件 组织解决方案中的项目、项目子项和其他子项。.aspxWeb项目文件 表示 Web 项目子项文件。.suo解决方案用户选项文件 记录所有可能和解决方案相关的选项。.csprojVisu

3、al C#项目文件 表示属于多个项目的窗体、用户控件、类和模块文件。项目开发过程l 编写项目设计说明书l 设计用户界面l 设计用户界面中各种对象的属性l 编写代码添加功能l 测试与调试应用程序l 生成可执行文件l 创建应用程序的安装程序Visual C#解决方案的创建应用程序模板DEMOWinForm简介Windows窗体的继承WinForm的实现l form1类从S.W.F.Form类继承行为认识 WinForms项目名称主程序文件,包含Main方法我们编写代码的文件解决方案名称窗体设计器代码文件,代码为VS自动生成启动窗体Main 方法n位于 Program.cs 文件nWindows程序

4、的入口/Program.cs namespace MyForm static class Program .static void Main()Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new Form1();Main 方法,程序的入口VS 自动生成一般不需要理会创建 WinForms应用程序 using System;using System.Drawing;using System.Collections;using System

5、.ComponentModel;using System.Windows.Forms;namespace SampleProject/Form1 的摘要说明。/public class Form1:System.Windows.Forms.Form/必需的设计器变量./提供了大量绘图工具的访问权限基础核心命名空间ArrayList、BitArray、Hashtable、Stack、StringCollection 和 StringTable 类 大量窗体和控件从 System.Windows.Forms.Form 派生Visual Studio.NET 生成的代码创建 WinForms应用程序

6、 6-4private System.ComponentModel.Container components=null;public Form1()/Windows 窗体设计器支持所必需的/InitializeComponent();/TODO:在 InitializeComponent 调用之后添加任何构造函数代码/构造函数调用 InitializeComponent()方法private void InitializeComponent()ponents=new System.ComponentModel.Container();this.Size=new System.Drawing.S

7、ize(300,300);this.Text=Form1;项目的容器创建 WinForms应用程序 6-5/清理所有正在使用的资源。/protected override void Dispose(bool disposing)if(disposing)if(components!=null)components.Dispose();base.Dispose(disposing);释放系统资源进一步认识窗体文件nWinForms 窗体有两种编辑窗口:窗体设计器窗口窗体代码编辑窗口为什么使用partial具有双钥匙的密码箱 第一把钥匙 第二把钥匙 为了安全,两把钥匙分开放置 只有两把钥匙同时使用

8、才能打开密码箱 用 partial 将同一个窗体的代码分开放在两个文件中:一个存放 VS 自动生成的代码一个存放我们自己编写的代码 程序员编写的代码 VS自动生成的代码 /Form1.Designer.csnamespace MyForm partial class Form1 /private void InitializeComponent()/VS自动生成的代码 this.ShowInTaskbar=false;this.Name=Form1;this.Text=Form1;this.TopMost=true;运行时合到一起组成一个窗体文件怎样使用partial/Form1.cs nam

9、espace MyForm public partial class Form1:Form public Form1()InitializeComponent();/我们编写的代码 构造函数做一些初始化的工作编译器自动调用认识窗体类/Form1.cs namespace MyForm public partial class Form1:Form public Form1()InitializeComponent();冒号表示继承Form类定义了窗体的基本属性和行为我们创建的窗体都继承自Form类Form1具有相应的属性和行为nForm 类:.NET 预定义的窗体类nForm1 继承自 For

10、m窗体的重要属性Name:窗体对象的名字,类似于变量的名字 BackColor:窗体的背景色 ShowInTaskBar:设置窗体是否出现在任务栏 StartPosition:窗体第一次出现时的位置 Text:窗体标题栏显示的文字 TopMost:设置窗体是否为最顶端的窗体 WindowState:窗体出现时最初的状态(正常、最大化、最小化)为什么使用事件nWindows 系统中处处是事件:l鼠标按下、鼠标释放、键盘键按下nWindows 系统通过事件处理来响应用户的请求显示开始菜单 我的电脑窗口打开事件触发 事件响应的结果 单击双击事件驱动nWindows 通过随时响应用户触发的事件做出相应

11、的响应事件驱动机制我们需要做的:针对我们感兴趣的事件,编写相应的事件处理程序 nWinForms 应用程序也是事件驱动的事件驱动编程事件处理器参数窗体的重要事件nLoad :窗体加载事件nMouseClick:鼠标单击事件nMouseDoubleClick:鼠标双击事件nMouseMove:鼠标移动事件nKeyDown:键盘按下事件nKeyUp:键盘释放事件nn窗体有哪些事件?通用验证方法用于验证文本框中输入的数据是否有效 static class Validation public static void IsInteger(object sender,CancelEventArgs e)T

12、extBox a=sender as TextBox;int s;if(!int.TryParse(a.Text,out s)MessageBox.Show(请输入整形数据,计算器);e.Cancel=true;public static void IsInteger(object sender,CancelEventArgs e)/.private void Form1_Load(object sender,EventArgs e)textBox1.Validating+=new CancelEventHandler(Validation.IsInteger);textBox2.Valida

13、ting+=new CancelEventHandler(Validation.IsInteger);private void button2_Click(object sender,EventArgs e)textBox1.Validating+=new CancelEventHandler(Validation.IsInteger);textBox2.Validating+=new CancelEventHandler(Validation.IsInteger);private void button3_Click(object sender,EventArgs e)textBox1.Va

14、lidating-=new CancelEventHandler(Validation.IsInteger);textBox2.Validating-=new CancelEventHandler(Validation.IsInteger);Windows窗体的基本操作用户界面设计人机交互设计与屏幕设计Windows窗体与控件概述Windows窗体的基本操作1.启动Form创建的窗体操作1.调整窗体尺寸(1)在窗体设计器中手动设置窗体尺寸(2)通过属性窗口设置窗体的尺寸 属性size:Width Height(3)通过代码设置窗体的尺寸 这种形式一般为程序运行期间设置窗体的大小。例如:用窗体显

15、示位图文件 讲窗体大小修改为200200像素 private void button1_Click(object sender,EventArgs e)this.ClientSize=new System.Drawing.Size(200,200);动态调整窗体中控件的位置(1)禁止窗体大小变化(不灵活)(2)根据窗体大小变化比例动态调整控件的位置 public Form1()InitializeComponent();int count=this.Controls.Count*2+2;float factor=new floatcount;int i=0;factori+=Size.Widt

16、h;factori+=Size.Height;foreach(Control ctrl in this.Controls)factori+=ctrl.Location.X/(float)Size.Width;factori+=ctrl.Location.Y/(float)Size.Height;ctrl.Tag=ctrl.Size;Tag=factor;private void Form1_Resize(object sender,EventArgs e)float scale=(float)Tag;int i=2;foreach(Control ctrl in this.Controls)c

17、trl.Left=(int)(Size.Width*scalei+);ctrl.Top=(int)(Size.Height*scalei+);ctrl.Width=(int)(Size.Width/(float)scale0*(Size)ctrl.Tag).Width);ctrl.Height=(int)(Size.Height/(float)scale1*(Size)ctrl.Tag).Height);/每次使用的都是最初始的控件大小,保证准确无误。设置窗体在屏幕上的显示位置(1)设置属性Location 设置窗体的左上角坐标(2)设置属性StartPosition 标识显示区域的边界(3)

18、编程设置显示位置 this.Left=300;或this.Left+=200;this.Top=200;或:this.Location=new Point(300,200);设置窗体的边框风格设置属性FormBorderStylelNone:窗体无边框、无标题栏lFixed3D:使用3D边框效果,不允许重设窗体尺寸lFixedDialog:用于对话框,不允许重设窗体尺寸lFixedSingle:不允许重设窗体尺寸,为窗体创建单线边框lSizable:默认值,通常用于主窗口,可重设尺寸lFixedToolWindow:用于工具窗口,显示不可重设尺寸的窗口。lSizableToolWindows:

19、用于工具窗口,显示可以重设尺寸的窗口。捕捉窗体的鼠标事件在窗体中捕捉鼠标事件主要有:/窗体的鼠标移动事件处理程序private void Form1_MouseMove(object sender,MouseEventArgs e)this.Text=String.Format(捕捉到鼠标了!(0,1),e.X,e.Y);this关键字代表窗体本身鼠标的横纵坐标窗体标题栏显示的文字鼠标事件参数事件源当鼠标在窗体上点击时,窗体的背景色改变:如果是红色,变成黄色如果是黄色,变成绿色否则变成红色提示:处理窗体的 MouseClick 事件 利用Color类得到某种颜色:红色Color.Red 绿色C

20、olor.Green 黄色Color.Yellow窗体的背景色:this.BackColor判断背景色:if(this.BackColor=Color.Red)/鼠标单击事件private void Form1_MouseClick(object sender,MouseEventArgs e)if(this.BackColor=Color.Red)this.BackColor=Color.Yellow;else if(this.BackColor=Color.Yellow)this.BackColor=Color.Green;else this.BackColor=Color.Red;创建不

21、同形式的窗体n创建顶层窗体n创建透明窗体n创建启动屏幕显示另一窗体被调用的窗体类 窗体实例=new 被调用的窗体类();窗体实例.Show();private void cmdShow_Click(object sender,System.EventArgs e)frmA A=new frmA();A.Show();创建顶层窗体顶层窗体始终处于应用程序的所有窗体之上。TopMost属性决定窗体是否为最顶层窗体,即使最顶层窗体处于非激活状态,仍然处于其他非顶层窗体之上。private void Form1_Load_1(object sender,EventArgs e)Form2 newfor

22、m=new Form2();newform.Show();创建透明窗体可以设置窗体的透明度设置属性Opacity,其取值范围为0.0(完全透明)1.0(完全不透明)可以编程设置:this.Opacity=0.5 private void Form1_Load(object sender,EventArgs e)trackBar1.Maximum=90;trackBar1.TickFrequency=3;private void trackBar1_ValueChanged(object sender,EventArgs e)int i,j;i=trackBar1.Value;j=trackBa

23、r1.Maximum;this.Opacity=(double)(j-i)/j;private void button1_Click_1(object sender,EventArgs e)trackBar1.Value=0;button1.Enabled=false;trackBar1.Enabled=false;for(double i=0.02;i=1;i+=0.02)this.Opacity=i;System.Windows.Forms.Application.DoEvents();System.Threading.Thread.Sleep(500);this.Opacity=1;bu

24、tton1.Enabled=true;trackBar1.Enabled=true;创建启动屏幕当应用程序装载大量数据时,可以显示一个启动屏幕。(1)添加一个新的窗体对象Form2 添加启动窗口中的控件 设置:private System.Windows.Forms.Label label1;private System.Windows.Forms.PictureBox pictureBox1;public System.Windows.Forms.ProgressBar progressBar1;public System.Windows.Forms.Label label2;(2)在主窗口

25、中:public Form1()Form2 t=new Form2();t.Show();InitializeComponent();for(int i=1;i=100;i+)for(Int64 j=0;j=100000;j+);t.label2.Text=i.ToString()+%;t.progressBar1.Value=i;t.Refresh();t.Close();改变窗体与控件的形状改变窗体的形状 private void Form1_Paint(object sender,PaintEventArgs e)GraphicsPath shape=new GraphicsPath()

26、;shape.AddEllipse(0,0,this.Width,this.Height);this.Region=new Region(shape);需要使用using System.Drawing.Drawing2D;改变控件的形状 private void button_Paint(object sender,PaintEventArgs e)GraphicsPath shape=new GraphicsPath();shape.AddEllipse(0,0,this.button4.Width,this.button4.Height);this.button.Region=new Re

27、gion(shape);创建任意形状的窗体关闭窗体的实现在窗体中添加一个button控件 private void button_Click(object sender,EventArgs e)this.Close();实现窗体的移动 private Point mouse_offset;/创建一个Point对象,该对象(作为一个变量)决定在什么情况下移动窗体 private void Form1_MouseDown(object sender,System.Windows.Forms.MouseEventArgs e)/创建窗体的MouseDown事件的事件处理函数,用户就可以在任何位置移动

28、窗体 mouse_offset=new Point(-e.X,-e.Y);/记录鼠标按下时的位置(负值)private void Form1_MouseMove(object sender,System.Windows.Forms.MouseEventArgs e)/创建窗体的MouseMove事件的事件处理函数,当鼠标左键被按下,同时鼠标被移动时,窗体的Location属性就被设置为新的位置 if(e.Button=MouseButtons.Left)Point mousePos=Control.MousePosition;/获取当前屏幕位置 mousePos.Offset(mouse_of

29、fset.X,mouse_offset.Y);/以屏幕坐标平移制定的量 Location=mousePos;/设置当前窗体在屏幕中的位置 编码方式 private void Form1_Load(object sender,EventArgs e)Rectangle rect=this.ClientRectangle;GraphicsPath path=new GraphicsPath();path.AddEllipse(rect);this.Region=new Region(path);private void Form1_SizeChanged(object sender,EventAr

30、gs e)Rectangle rect=this.ClientRectangle;GraphicsPath path=new GraphicsPath();path.AddEllipse(rect);this.Region=new Region(path);创建环形窗口 private bool hasNormalRegion=true;private void button2_Click(object sender,EventArgs e)if(hasNormalRegion)System.Drawing.Drawing2D.GraphicsPath p=new System.Drawing

31、.Drawing2D.GraphicsPath();int bigDi=this.ClientSize.Height;int donutWidth=100;p.AddEllipse(0,0,bigDi,bigDi);p.AddEllipse(donutWidth,donutWidth,bigDi-(donutWidth*2),bigDi-(donutWidth*2);this.Region=new Region(p);else this.Region=null;hasNormalRegion=!hasNormalRegion;创建飘动的窗体在窗体上放置两个Timer控件 Timer属性Inte

32、rval设置为10(表示10ms引发Tick 事件)private void Form1_Load(object sender,EventArgs e)Point p=new Point(0,240);this.DesktopLocation=p;private void timer1_Tick(object sender,EventArgs e)Point p=new Point(this.DesktopLocation.X+1,this.DesktopLocation.Y);this.DesktopLocation=p;if(p.X=600)timer1.Enabled=false;tim

33、er2.Enabled=true;private void timer2_Tick(object sender,EventArgs e)Point p=new Point(this.DesktopLocation.X-1,this.DesktopLocation.Y);this.DesktopLocation=p;if(p.X=0)timer1.Enabled=true;timer2.Enabled=false;创建系统托盘.什么是系统托盘采用notifyIcon控件实现。private bool hasNormalRegion=true;private void 环形ToolStripMen

34、uItem_Click(object sender,EventArgs e)this.WindowState=System.Windows.Forms.FormWindowState.Normal;hasNormalRegion=true;if(hasNormalRegion)System.Drawing.Drawing2D.GraphicsPath p=new System.Drawing.Drawing2D.GraphicsPath();int bigDi=this.ClientSize.Height;int donutWidth=100;p.AddEllipse(0,0,bigDi,bi

35、gDi);p.AddEllipse(donutWidth,donutWidth,bigDi-(donutWidth*2),bigDi-(donutWidth*2);this.Region=new Region(p);private void 方形ToolStripMenuItem_Click(object sender,EventArgs e)this.WindowState=System.Windows.Forms.FormWindowState.Normal;hasNormalRegion=false;this.Region=null;private void 自动渐变ToolStripM

36、enuItem_Click(object sender,EventArgs e)this.WindowState=System.Windows.Forms.FormWindowState.Normal;for(double i=0.02;i=1;i+=0.02)this.Opacity=i;System.Windows.Forms.Application.DoEvents();System.Threading.Thread.Sleep(100);this.Opacity=1;private void 退出ToolStripMenuItem_Click(object sender,EventArgs e)Application.Exit();private void notifyIcon1_DoubleClick(object sender,EventArgs e)this.WindowState=System.Windows.Forms.FormWindowState.Normal;

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服