资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,程序设计实践,何 峰,第一讲 可视化程序设计入门,预备知识:什么是,Windows,古老的,DOS,年代,什么是,Windows,应用程序,统一的、图形化的界面(,Interface,),标题栏,Caption,、图标,Icon,、,MaximizeBox,、,MinimizeBox,、,ControlBox,、,CloseBox,边框(,fixed,、,sizebale,),菜单,Menu,和状态栏,Status Bar,最大的一块区域留给用户编辑,文档,SDI,S,ingle,D,ocument,I,nterface,广义地理解“文档”的概念,M,ulti,D,ocument,I,nterface,讨论:在如图的,VC6.0,的主界面中出现了多少个窗口?,工程资源管理器也是一个窗口,,“停靠”(,dock,),在窗体的一边;,广义地说,工具栏和状态栏都是,window,最常见的一种,window,:对话框,Dialog box,组合框,Combo Box,文本框,Text Box,单选按钮,Option Button,复选框,Check Box,对话框的特点:,常为固定的大小,(,fixed size,),通常为,模态(,Modal,),出现,标准化的窗口元素,这些元素在设计阶段称为,控件(,Control,),第一个,Windows,应用程序,一起动手来做,Hello World,Step 1,:启动,VS2008,创建工程,创建新的项目,运行程序,得到了一个空白的窗体,Window,Form,Window,是最终运行的程序,,Form,是,window,设计时的状态,程序,和,软件,有什么区别?,Step 2,:“画”程序的界面,1.,调整,Form,的大小,设置窗体的,属性(,Property,),改变窗体大小的方法,设置窗体的属性,Name,设为:,frmmain,Text,设为:,Say Hello,Size,设为:,600,,,360,其它属性,句柄,Tip,:属性窗口的使用技巧,属性窗口的几种状态,浮动,float,可停靠,dock,选项卡,自动隐藏,auto hide,隐藏,2.,为窗体添加一个标签,Label,使用工具箱添加,控件,窗体上的元素在设计阶段称为控件(,control,),添加控件的几种方法,添加,label,,并设置如下属性,Text,:,Your Name:,Font,:,Times New Roman,,一号加粗,3.,为窗体添加其它控件,添加,TextBox,控件,Name,为,txtname,Font,同,Label1,添加,label,控件,Name,为,lblHello,自选字体和前景色,添加,Button,控件,Name,为,btnHello,Font,同,Label1,Text,为,Say Hello,调整各控件的位置和大小,选择控件的几种方法,最后设置,lblHello,的,Text,为空。,Step 3,:完成程序的功能,1.,双击命令按钮进入代码编辑器,using,System;,using,;,using,System.ComponentModel;,using,System.Data;,using,System.Drawing;,using,System.Linq;,using,System.Text;,using,;,namespace,SayHello,public partial class,frmmain:Form,public frmmain(),InitializeComponent();,private void,btnHello_Click(,object,sender,EventArgs,e),lblHello.Text=Hello,+txtname.Text+!;,1.,什么是,Namespace?,2.,partial,是什么意思?,读懂,Form1.cs,3.,字符串可以相加!,控件到底是什么?,窗体及窗体上的控件实质是,类,当向窗体上添加一个控件时实质是生成了该类的一个,对象,控件的,属性(,Property,),相当于,类的,数据成员,,表征控件的特征,控件的,方法(,Method,),相当于类的,成员函数,Windows,程序运行的奥秘:,事件(,Event,)驱动机制,属性、方法、事件,是构成控件的三大要素,什么是名空间?,假设一个工程由三个文件组成:,test1.c,myhead1.h,myhead2.h,/myhead1.h,中定义了一个类,A,class A,/myhead2.h,中也定义了一个类,A,class A,#include ,#include,“myhead1.h”,#include,“myhead2.h”,void main(),A,x;,/myhead1.h,namespace ONE,class A,/myhead2.h,namespace TWO,class A,#include ,#include,“myhead1.h”,#include,“myhead2.h”,void main(),ONE:,A,x;,目的:,名空间的目的是为了减少,全局名称,冲突,的可能性。,名空间,1,类,1,函数,1,语句,1,语句,2,语句,n,函数,2,函数,2,数据成员,名空间的定义,格式:,namesapce,空间名,/myhead1.h,namespace ONE,class A,namesapce THREE,class B,namespace ONE.FOUR,namespace ONE,名空间的定义可以,嵌套,。,名空间的定义可以,扩展,。,名空间成员的访问,格式:空间名,:,成员名,例如:,ONE:A,、,ONE:THREE:B,用,using,声明语句,例如:,using ONE,后可直接使用,A,using System;,using System.Collections.Generic;,using,System.ComponentModel;,using,System.Data;,using,System.Drawing;,using,System.Linq;,using,System.Text;,using,System.Windows.Forms;,namespace,SayHello,public partial class,frmmain:Form,public frmmain(),InitializeComponent();,private void,btnHello_Click(,object,sender,EventArgs,e),partial,Partial,部分的;不完全,程序的存储目录结构,D:testVC2008,MySolution,SayHello,MySolution.sln,bin,Debug,SayHello.exe,每一个,Form,实际上是由,3,个文件组成,的部分内容,namespace SayHello,partial class frmmain,/label1,/,=true;,=new System.Drawing.Font(Times New Roman,26.25F,System.Drawing.FontStyle.Bold,System.Drawing.GraphicsUnit.Point,(byte)(0);,=new System.Drawing.Point(24,19);,this.label1.Name,=label1;,=new System.Drawing.Size(198,40);,=0;,=Your Name:;,/btnHello,/,this.btnHello.Font=new System.Drawing.Font(Times New Roman,26.25F,System.Drawing.FontStyle.Bold,System.Drawing.GraphicsUnit.Point,(byte)(0);,this.btnHello.Location=new System.Drawing.Point(173,231);,this.btnHello.Name=btHello;,this.btnHello.Size=new System.Drawing.Size(233,54);,this.btnHello.TabIndex=3;,this.btnHello.Text=Say,this.btnHello.UseVisualStyleBackColor=true;,this.btnHello.Click+=new System.EventHandler(this.btnHello_Click);,事件驱动是怎么做到的?,程序执行的流程,Main,函数位于,Program.cs,中;,在,Main,函数中创建了一个,frmmain,类型的对象,在,frmmain,的构造函数里调用了,InitializeComponent,(),函数,在,InitializeComponent,(),函数创建,frmmain,的各数据成员(即窗体上的各个控件),并对其属性进行设置,,将一些函数绑定到事件上,。,等待事件的发生(事件驱动),执行相应的函数,等待其它事件发生,如何简化这一复杂又相对固定的流程?,所谓可视化设计不过是源程序的一种图形化的表示方法。使设计更为简便。,反之,源文件是对窗体及之上的控件文本化的描述。,简化,程序的设计,使开发,Windows,应用程序变得容易,,使我们把更多的精力关注到程序的功能上去,。,小 结,可视化编程的两大步骤,画程序界面,编写程序功能,请熟悉,visual,studio2008,的开发环境;,请掌握控件的添加、删除、移动、更改大小等操作;,请熟悉控件属性的设置方法,在设计阶段可通过属性窗口设置,在运行阶段可通过语句动态修改,作 业,请列举出,Form,、,label,、,textbox,、,button,控件各有哪些常用的属性、方法、事件?,请提出“,Hello World,”这个程序还有什么不足之处,并设想改进的方法。,推荐参考数目,赵增敏编著,电子工业出版社,吕伟臣等,清华大学出版社,沈建蓉主编,复旦大学出版社,最好的老师:网络,Microsoft Developer Network,
展开阅读全文