实习指导书第三章基于C#NET的程序设计与开发Word格式.docx

上传人:b****5 文档编号:21453994 上传时间:2023-01-30 格式:DOCX 页数:25 大小:871.45KB
下载 相关 举报
实习指导书第三章基于C#NET的程序设计与开发Word格式.docx_第1页
第1页 / 共25页
实习指导书第三章基于C#NET的程序设计与开发Word格式.docx_第2页
第2页 / 共25页
实习指导书第三章基于C#NET的程序设计与开发Word格式.docx_第3页
第3页 / 共25页
实习指导书第三章基于C#NET的程序设计与开发Word格式.docx_第4页
第4页 / 共25页
实习指导书第三章基于C#NET的程序设计与开发Word格式.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

实习指导书第三章基于C#NET的程序设计与开发Word格式.docx

《实习指导书第三章基于C#NET的程序设计与开发Word格式.docx》由会员分享,可在线阅读,更多相关《实习指导书第三章基于C#NET的程序设计与开发Word格式.docx(25页珍藏版)》请在冰豆网上搜索。

实习指导书第三章基于C#NET的程序设计与开发Word格式.docx

数据菜单可使用数据库中的信息。

格式:

格式菜单中的命令选项可管理如何把所创建的控件显示到窗体上。

工具:

工具菜单中有配置C#.NETIDE的命令,以及到其他已安装的外部工具的链接。

窗口:

窗口菜单也是标准的,它允许像Word和Excel那样同时打开多个窗口。

这个菜单中的命令允许在IDE中切换窗口。

帮助:

利用帮助菜单可以访问VisualStudio.NET的帮助文档,访问该文档有多种方式,如通过目录、索引或者搜索。

1.2工具栏

工具栏位于菜单栏的正下方,IDE中有许多工具栏,包括格式、图像编辑和文本编辑等,这些工具栏可通过“视图”菜单下的“工具栏”菜单选项在IDE中添加或删除。

每个工具栏都提供了对常用命令的快速访问,而不必选择相应的菜单选项。

当鼠标在某个工具上悬停的时候,则会出现对该命令的解释。

1.3工具箱

在IDE的左侧或者右侧,有一个竖直排布的按钮(工具箱),单击,可以弹出以下界面,如果没有该按钮则可以通过点击“视图”->

“工具栏”使之显示出来,如图3.4所示。

图3.4工具箱

工具箱中包含了能够运用到Windows编程中的所有控件,除了Windows默认的一些标准控件之外,您还可以添加一些自定义控件或者第三方控件(如我们后面将要使用到的ArcGIS控件)。

1.4解决方案管理器

解决方案资源管理器位于IDE的右上方,这是一个展示了整个工程的树结构,如图3.5所示。

如果没有,点击工具栏上的“解决方案资源管理器”按钮弹出,如图3.6所示。

从解决方案工程管理器中可以清楚的看到各窗体(Form)的名字,类的名字,模块以及包含的资源、引用等。

图3.5解决方案管理器

图3.6“解决方案资源管理器”工具

1.5属性窗口

属性窗口位于IDE的右下方,它随着当前选择控件的变化而变化。

在属性窗口中能快速调整各控件的属性,如控件的名称、显示文字、颜色、大小、位置等,如图3.7所示。

图3.7属性窗口

1.6文档大纲

点击通过如图3.8所示的文档大纲的工具按钮,弹出文档大纲,如图3.9所示。

图3.8“文档大纲”的工具按钮

文档大纲用于显示控件与控件的层次关系,通过文档大纲可以很方便地查看到父控件和该控件的子控件。

图3.9文档大纲

2C#语言简介

C#(Csharp)是微软(Microsoft)在2000年6月发布的一种新的编程语言,是微软为.NETFramework量身订做的程序语言,C#拥有C/C++的强大功能以及VisualBasic简单易用的特性,是第一个组件导向(Component-oriented)的程序语言,和C++和Java一样亦为对象导向(object-oriented)的程序语言。

C#看起来与Java有着惊人的相似:

它包括了诸如单一继承、界面,与Java几乎同样的语法,和编译成中间代码再运行的过程。

但是C#与Java有着明显的不同,它与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。

C#语言定义主要是从C和C++继承而来的,而且语言中的许多元素也反映了这一点。

例如定义变量、关系运算等。

如果你有C或者C++的基础,那么学习C#语言就相对容易了。

1

2.1变量声明

声明变量就是指定变量的名称和类型。

C#变量声明由一个类型和跟在后面的一个或多个变量组成,多个变量之间需用逗号分开,声明以分号结束。

在声明变量时,还可以初始化变量。

C#变量名是一种标识符,需要符合标识符的命名规则。

变量名是区分大小写的,基本的变量名命名规则包括:

变量只能由字母、数字或下划线组成;

变量名的第一个符号不能是数字;

不能使用关键字作变量名;

一旦在一个语句块中定义了一个变量,在其作用域内就不能再定义同名变量,否则将发生编译错误。

doubledblV1,dblV2;

//局部变量的声明

intintVal=835;

//局部变量的声明并赋值

publicstringmFormName;

//公有成员变量的声明

privatestringmFormName;

//私有成员变量的声明

protectedstringmFormName;

//保护成员变量的声明

2.2表达式与运算符

表达式是由运算符(Operator)和操作数(operand)构成的序列。

运算符指示对操作数进行何种运算。

例如,+、-、*、/和new都是运算符。

操作数是指计算机指令中进行数字运算的量,例如:

在比较指令中,操作数则指定进行比较的两个数值,包括文本、常量、变量和表达式。

在C#中,若表达式最终的计算结果为所需的类型值,表达式就可以出现在需要值或对象的任意位置,如下面的示例代码:

doubledblV1=123.45;

doubledblV2=24.312;

doubledblV3=Math.Sqrt(dblV1*dblV1+dblV2*dblV2);

MessageBox.Show(dblV3.ToString(),"

信息提示"

);

表达式dblV1*dblV1+dblV2*dblV2作为方法Math.Sqrt的参数使用,表达式dblV3.ToString()又是方法MessageBox的参数。

表达式包括常量表达式、布尔表达式等。

运算符是专门用来处理数据运算的特殊符号,对操作数进行运算,并产生运算结果。

运算符包括基本运算符(.、()、[]、++、--、new、sizeof、typeof、checked和unchecked等)、赋值运算符(=、+=、-=、*=、/=、%=、&

=、|=、^=、<

<

=和>

>

=)、算术运算符(+、-、*、/和%)、关系运算符(==、!

=、>

、<

、>

=和<

=)、逻辑运算符等(与(&

)、或(|)、异或(^)和取补(~))、移位运算符(左移位运算符<

和右移位运算符>

)和三元运算符(?

:

)等。

2.3条件语句

if引导的条件语句:

格式:

if(表达式1)语句1;

说明:

如果表达式1成立则执行语句1,否则不执行语句1。

例子:

if(x>

0)y=10;

if-else语句:

else语句2;

如果表达式1成立则执行语句1,否则执行语句2。

elsey=5;

if-elseif-else语句:

if(表达式1)语句1;

elseif(表达式2)语句2;

……

else语句n;

这种格式是从上到下逐个对表达式判断,一旦发现条件满足的表达式,就执行相关的语句,并跳出判断,如果都不满足则执行else相应的语句。

elseif(x==0)y=5;

elsey=1;

switch-case语句:

switch(变量x)

{

case常量1:

语句1;

case常量2:

语句2;

default:

语句n;

}

这种格式是从上到下逐个将变量x与case后的常量比较,一旦发现变量x与某个case后的常量相等,则从该语句向后执行(注意,如果没有break,后面的case语句都会执行),如果没有与变量x相等的常量,的执行default后的语句。

switch(k)

{

case1:

y=1;

break;

case2:

y=10;

case3:

y=100;

y=0;

2.4循环语句

for循环语句:

for(表达式1,表达式2,表达式3)循环体内语句;

先对表达式1赋初值;

判别表达式2是否满足给定条件,若其值为真,满足循环条件,则执行循环体内语句,然后执行表达式3,进入第二次循环,再判别表达式2……;

否则判断表达式2的值为假,不满足条件,就终止for循环,执行循环体外语句。

for(i=0;

i<

100;

i++)

{sum+=i;

}

while语句:

while(表达式)循环体内语句;

这里的表达式是循环能否继续下去的条件。

只要表达式为真,则执行循环体内语句。

否则终止循环,执行循环体外语句。

while(i<

100)

sum+=i;

i++;

do-while语句:

do循环体内语句;

while(表达式)

程序进入do-while循环后,先执行循环体内语句,然后判断表达式的真假,若为真则进行下一次循环,否则为假则终止循环。

该循环语句的特点是:

表达式为假时也执行一次循环体内语句。

do

}while(i<

2.5函数

C#和C++对于函数的定义和使用有很多相同之处,对于这些相同之处不需要一一做详细的介绍,具体请参阅《C#入门经典》这本书(这是一本曾成就无数C#程序员的经典名著,最新版为第5版,2010年12月出版,定价99.8元),该节主要介绍C#特有的特点。

(1)函数参数引用传递与值传递

C#对函数参数做了更明确的标示,使得程序更加清晰可读,通过使用in和out关键字说明了参数的作用,in修饰的参数在形参和实参结合的时候会生成副本,这样对形参的修改就不会对实参产生影响(副作用),因为这个函数内部使用的不是实参而是生成的那个副本。

out关键字函数对形参的修改会对实参产生副作用的,这样out的意思就是说我要用这个参数作为返回值。

这点和C++引用传递的语义是类似的,函数对参数的修改会反映在实参上,这样我就可以得到最终变化的结果,其语义就是return的作用一样。

如果没有in、out修饰则默认是in.如下面两个函数:

publicvoidInternalMagic(intx)函数1

{

x+=100;

publicvoidInternalMagic(inintx)函数2

publicvoidInternalMagic(outintx)函数3

函数1和函数2是一样的,函数3则不同,当调用函数1的时候,传入的参数不会改变,而调用函数3时,传入的参数会自增100.

2.函数的委托

委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性,在C#中使用delegate关键字定义委托,然后使用我们熟悉的函数调用的语法来调用委托。

如下代码所示:

publicdelegatevoidDel(stringmessage);

//定义一个委托

//创建一个和委托相似的函数(参数,返回值类型和个数相同)

publicstaticvoidDelegateMethod(stringmessage)

System.Console.WriteLine(message);

//使用委托

//生那么一个委托.

Delhandler=DelegateMethod;

//使用委托.

handler("

HelloWorld"

2.6面向对象

C#是一种完全面向对象的语言,他和C++一样具有类、对象、继承、多态等特点。

与C++不同的是C#不支持多重继承。

另外,C#多了接口的概念。

接口只包含方法、属性、索引器(有参属性)、事件四种成员。

方法的实现是在实现接口的类中完成的,如下面的示例所示:

 //定义接口

interfaceISampleInterface

 {

  voidSampleMethod();

//声明接口的方法

 }

//接口的实现体

 classImplementationClass:

ISampleInterface

  //Explicitinterfacememberimplementation:

  voidISampleInterface.SampleMethod()

  {

  //Methodimplementation.

  }

  staticvoidMain()

  //Declareaninterfaceinstance.

  ISampleInterfaceobj=newImplementationClass();

  //Callthemember.

  obj.SampleMethod();

C#接口的接口弥补了C#在多继承下的不足,使得C#在面向对象方面更加完善。

要想了解更多的关于C#面向对象的知识请参阅《C#入门经典》。

3窗体及其控件简介

在这一小节中,您将接触到几个C#.NET编程中常用的控件及其主要属性。

2

3.1窗体(Form控件)

Form表示组成应用程序的用户界面的窗口或对话框。

如图3.10所示,即为一个窗体:

图3.10窗体(Form控件)

在C#.NETIDE中,支持可视化的编辑,这让程序员将更多的精力放在程序本身的编写上,而不用花费太大的精力到界面的设计。

在IDE中,支持“所见即所得”的模式,也就是说,在编辑过程中各控件的位置与程序实际运行中的位置是一样的(使用程序代码控制控件的属性,如尺寸、位置及可见性等除外)。

在编辑过程中,Form中可以放置不同的控件,用来构建应用程序。

需要插入新的窗体,可以点击菜单栏中的“项目”—>

“添加Windows窗体”,选择“Windows窗体”添加一个新的窗体。

若需要修改已有的窗体名称,则在解决方案资源管理器中修改(与Windows中修改文件名类似)。

单击Form,将其激活,点击右键,转到属性窗口,可以看到Form的属性,如图3.11所示。

图3.11窗体的属性

在Form的属性中,Text属性表示窗体的显示名称;

TopMost控制窗体是否总是位于应用程序最上方;

StartPosition控制窗体生成的时候出现在屏幕上的位置;

FormBorderStyle控制窗体的样式等。

具体Form的属性及时间等信息,请参阅MSDN中的相关定义及解释。

除此之外,在属性窗口中还可以对窗体添加事件,例如鼠标单击、双击事件,捕获键盘和窗口退出等事件。

点击属性对话框中的

按钮即可对窗口添加事件,如图3.12。

图3.12窗口的事件

图3.12中列出了与Form控件相关的所有事件,每个事件代表什么请查阅MSDN,在事件填入相应的函数(函数的名称要符合C#函数的命名规则)则会自动为该窗体添加相应的函数,如Click事件的事件处理函数是OnClick,Form1窗体类中会自动生成一个OnClick函数。

3.2Label控件

Label控件用于显示文字、提示、输出结果等,是C#编程中常用的控件之一。

如图3.13所示。

图3.13任务管理器中的label控件

在Windows任务管理器中的句柄数、线程数、进程数和物理内存中的总数、可用数和系统缓存等都是典型的Label控件。

从工具箱的“公共控件”中点击Label控件,并将其拖入到Form窗体中,并放入适当的位置,即可在窗体中显示Label控件。

与Form窗体一样,点击Label控件使其进入激活状态,就可以在属性窗口中更改Label的属性,其中Text属性是该Label控件显示的内容,是Label控件最常用的属性,同时还可以为Label控件添加事件,其方法和Form控件相似。

3.3Button控件

Button控件是按钮控件,是C#编程中常用的控件之一,它主要用于制作各种类型的按钮,如图3.14所示。

图3.14Windows计算器中的按钮

其中按钮属性中最常用的是Text,该属性用于设置按钮上显示的内容,最常见的事件是Click事件,该事件是处理按钮按下后的事件。

3.4TextBox控件

TextBox控件是文本框控件,既可以用来接受用户输入,也可以用来做结果输出。

如图3.15所示。

图3.15TextBox控件

图3.15中右边控件为文本框控件,用于接收用户的输入,如果要得到用户的输入数据,则可以访问该文本框控件的Text属性,另外还可以接收文件框得到或者失去焦点的事件等。

3.5菜单控件

菜单控件分为两类,一类是界面菜单,另一类是上下文菜单,界面菜单一般位于程序的上面,包括文件、编辑、视图等,上下文菜单一般是当鼠标右键按下弹出的右键菜单,如图3.16所示。

图3.16界面菜单(左)和上下文菜单(右)

C#中的界面菜单和上下文菜单是用不同的控件来表示的,界面菜单是MenuStrip控件,上下文菜单是ContextMenuStrip控件。

下面对它们的用法一一介绍。

(1)MenuStrip的用法:

从工具箱的“菜单和工具栏”中点击MenuStrip控件,然后再点击或者拖动到目标Form控件中去,即可以为该Form控件添加一个界面菜单。

一般界面菜单都在Form控件的最上方,也可以通过改变MenuStrip的Dock属性来改变MenuStrip控件的位置。

Dock属性包括Top、Bottom、Left、Right、Fill和None六种选择,分别代表将该控件放置在父控件的上方、下方、左方、右方、充满父控件和不设置。

一旦创建了MenuStrip就可以创建菜单项,菜单项分为五种类型,一种是ToolStripMenuStrip,该类型就是最常用的一种菜单类型,它类似于按钮,按下即可触发特定的菜单事件。

如图3.17中的“安全性设置(E)…”就是ToolStripMenuStrip类型的菜单项。

除此之外,还有MenuStrip、ComboBox、TextBox和Separator类型的菜单项,可以通过点击菜单项后面的三角符号选择菜单项的类型。

图3.17ToolStripMenuStrip类型的菜单项

图3.18选择菜单项类型

其中MenuStrip表示级联菜单,如图3.18。

ComboBox表示将菜单项改成如复选框类型的菜单项,TextBox是将菜单项改成可输入的文本编辑框,而Separator是将该菜单项目改成菜单分隔符,双击该菜单项,即可为该菜单项加入一个单击事件,按delete键可以将该菜单项删除。

(2)ContextMenuStrip的用法:

ContextMenuStrip菜单项的添加、编辑和为菜单项添加事件与MenuStrip相同,它与MenuStrip不同的是弹出的时机不同,它需要当鼠标右击的时候弹出。

此时只需要设置窗体控件中的ContextMenuStrip属性为新建的ContextMenuStrip对象名称就可以了,如图3.19所示。

图3.19设置窗体的ContextMenuStrip属性

3.6ToolStrip控件

ToolStrip控件就是工具条控件,通过它可以制作各式各样的工具条,与菜单项类似,工具条上的工具项也有很多类型,它可以是按钮,可以是复选框,可以是文本框,也可以是一个进度条等。

如图3.20所示。

图3.20不同类型的工具项

其中button类型的工具项是在工具条上添加一个按钮,注意一般工具条上的按钮都是有图标的,因此,必须要为工具条的上的按钮指定Image属性。

Image属性可以从磁盘文件中导入图片资源,也可以用项目自带的图片资源。

Label类型的工具项是在工具条中加入一个Label对象。

其他的如SplitButton、DropDownButton、Separator、ComboBox、TextBox和ProgressBar请查阅MSDN或者亲自试验一下。

在此不需一一累述。

3.7常用对话框

C#还提供了一些常用的对话框,如打开对话框、保存对话框、字体选择对话框和颜色对话框等。

不需要对这些对话框重新设计,只需要将这些对话框控件拖入到目标窗体中直接调用即可。

下面着重讲述一下打开对话框的使用方法,其他对话框的使用方法与此相同,不需要一一累述。

第一步:

设置对话框的弹出事件。

在此,我们用一个按钮事件来表示,即点击按钮弹出打开对话框,在目标窗口Form1控件中加入一个按钮控件,将按钮控件的Text属性改为“打开对话框…”,同时将“设计”中的Name属性改为”OpenDialog”(此步骤可以不要,如果不要,系统会自动生成一个随机的无意义名字,建议将其改成一个有意义的名称),如图3.21。

图3.21“打开对话框”按钮

第二步:

从工具箱中对话框选项中选择OpenFileDialog控件,并将“设计”中的Name属性改为“mOpenFileDialog”。

第三步:

双击“打开对话框…”按钮,进入该按钮的单击事件,在该事件中显示打开对话框。

其中FileName记录了打开对话框中选中的文件,另外OpenFileDialog控件还

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 英语考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1