使用C#开发数据库应用程序(教材)
由浅入深,很好的教程,是我学编程的第一本书.很适合起步用.因为太大了,所以分成4本,共341页.每本100页第4章第一个 Windows程序解决方案资浪管瑶器解决方案“Morm〔1个项目早解决方案“ lyF orm”(个项目)± Properties+引用a Forml. csProgram. cs图44解决方案资源管理器在解决方案资源管理器中,和控制台应用程序类似,也包含了解决方案名称、项目名称Formulas就是窗体文件,我们程序员对窗体编写的代码一般都存放在这个文件当中。展开 Forml.cs文件前的加号,会看到 Forml Designer. cs文件,这个文件是窗体设计文件,其中的代码是我们在进行拖放控件、设置控作属性时由S自动生成的,一般不需要我们修改。 Program.cs文件是主程序文件,其中包含程序的入口Man(方法。双击打开 Program.cs文件,我们来认识一下 Winforms程序的Main(方法,如示例1所示例1us:ng Syusing System. Coll actions. Genericusing System. Windows. Fonamespace MyFormstatic class Program/////应用程序的主入口点「 STAThreadlstatic void Main(Application. EnablevisuaIStApplication. SetCompatibleTextRerdering default false)Application Run(new Form1())iMain(方法中的代码乜是S自动生成的,一般情况下我们不需要理会这些代码。我们只需要知道第三句话“ Application Run(new Form1();”的意思是运行窗体,Run是运行的意思95便用C开战数派库应程△43认识窗体文件在VS中, Winforms应用程序的窗体文件有两和编辑窗口,分別是窗体设计器窗口(如图4.5所示)和窗体代杩编辑窗口(如图4.6所示)Frm1, cs For"l.csf设计ar·1 cs Form1.c[设计dOrelIO XIE using Sysasing System Collect: ons. GenericIsing System. Cnrmnnent Mnde Item. DrYusing System. windows Formsnamespace Myformublic partial caspublic Formo图45窗体设计器窗口图46窗体代码编辑窗口窗体设计器窗口是我们行窗体界面设计、拖放控件、设置窗体及控件属性时使用的,不需要编写代码,用鼠标就可以进行可观化的操作,如图4.5所示。窗体代码编辑窗口是我们需要手动编写代码时用到的,在图4.6中我们看到,VS凵经自动生成了一些代码,我们来认识一下它们的作用。1. partia关键字在图46中我们看到,类的前面多了一个 partial. partial是“部分的”意思,这是NETFramework2.0引入的一个新特性—分布类。为什么要使用 partial呢?就像在生活中有一种具有双钥匙的密码箱,两扣钥匙分别具有不同的作用,为了安全把它们分开放置,只有两把钥匙一起使用才能够打廾密码箱,每一把钥匙都只能算是“一鄙分钥匙”。在Cn当中,为了便代码的管珵和编辑,使用 partial关键字可以将同一个类的代码分开放在多个文件中,每个文件都是类的一部分代码。利用VS创建的窗体都是分布类。比如在图4.4屮, Form l这个类的代码就分布在两文件中:Foml.cs和Foml. Designer,cs。我们自己编写的代码是在 Forml. cs中的,而Form1. Designer.cs中的代码都是ⅴS自动生成的,它负责定义窗体的位置、大小等,我们一般不直接操作这个文件。Fom1s和Fom1 Designer.cs的代码具有相司的命名空间和相同的类名,并且都在羹名前而增加了 partial关键字,那么在编泽时,VS就会识别出来,并把它们合并成一个类来进行处芈。你只需要知道 partail的作用就行」,就是将个类标识为分布类。2.Form类在图46显示的 Forml.cs代码屮,我们看到了这样一行代码:第4章第一个 Windows程序public partial class Form1 Form我们发现,在类名的后面多了一个冒号和一个Fom,这是什么意思呢?Fom是NETFramework定义好的一个最基本的窗体类,具有一些窗体的最基木的属性和方法。冒号表示继承。就像是孩子可以继承父母的外貌特征,我们自己创建的窗体都继承自Form类,那么它就具有了Form类中定义的属性和方法。关于类和继承,我们会在第二学期深入地学习。名如何切换窗体的两种编辑窗口:在解决方案资源管理器中,迒中窗体文件Fonl.cs,单击“查看设计器”按钮(□),可以打开窗体设计器窗口,单击“查看代码”按钮(),可以打开窗体代码编辑窗口4.2认识窗体在Java中我们学习类的时候说到过,类的属性表示它的一些特征,类的方法表示类的行为。那么窗体究竟具有哪些属性和方法呢?我们现在就来认识一些重要的属性和方法。4.2.1窗体的重要属性窗体常用的重要属性见表4-1表4-1窗体的重要属性属性说明ame窗体对象的名字,用以在代码中进行标识Back color窗体的背景色BackgroundImage窗体的肯景图像Forn Border Style窗体显示的边框样式,有7个可选的值,默认值是 SizableMaximizeBox确定窗体标题栏的右上角是否有最大化框,默认为TrueShowInTaskbar确定窗休是否出现在 Windows任务栏中,默认为TrueStartPosition确定窗体第一次出现时的位置97便℃兴发数派库应胎程序续表属性说明Text窗体标题栏中显示的文本指示窗体是否始终显示在此属性未设置为True的所有窗休之上,默认为TopMostFalse确定窗体的初始可视状态,包括 Normal(普通)、 Maximized(最大Window State化)、 Minimized(最小化),默认值为 Normal例如,我们可以把Name属性改为 My Forr,那么在代码中就可以通过 MyForm找到窗体,就相当于一个变量的名字。把Text属性改为“我的第一个窗体”,那么窗体的标题栏就会显示“我的第一个窗体”。其他属性的改变对窗体会有哪些影响呢?请你自己动手试一下就知道了。A4.22窗体的重要事件回想一下我们平时是怎样操作电脑的?我们在电脑里面的操作基本都是通过鼠标和键盘完成的,我们按一下鼠标或者敲打一下键盘,系统就会有相应的反应。这些鼠标按下、鼠标释放、键榅键按下、键榅键释敚都是 Windows操作系统中的事件。 Windows操作系统木身就是通过事件来处理用户的请求的。比如我们单击“开始”按钮就公显示“开始”菜单,我们双击“我的电脑”图标,就会打开“我的电脑”窗口等。 Windows的这种通过随时响应用户触发的事仵,做出相应的响应就叫做事件驱动机制我们创建的 Win Forms程序乜是事件驱动的。你可能会问,怎么才能让程厅知道发生了什么事件呢?这个你暂时不用担心, NET Framework已经为窗体和控仵定义了很多常用的事件,我们要做的只是针对我们感兴趣的事件,编写相应的事件处理程序,也就是说当事件发生时,程序应该有什么样的反应。经验怎样使用“属性”窗口中的几个按钮首先切换到窗体设计器界面,选中要查看属性或事件的窗体或控件,在属性窗口中(1)单击“属性”按钮(凵),可以查看窗体或控件的属性。(2)单击“事件”按钮(凵),可以查看窗体或控件的事件(3)单击“按分类排序”按钮(回)或“按字母排序”按钮(圆),可以使属性或者事件按分类排序或按字母排序,便于查找那么窗体有哪些重要的事件呢?窗体的重要事件见表4-2第4章第一个 Windows程序表4-2窗体的重要事件事件窗体加载事件,窗体加载时发生Mouseclick鼠标单击事件,当用户单击窗体时发生MouscDoubleclick鼠标双击事件,当用户双击窗体时发生MouseMove鼠标移动事件,当鼠标移过窗体时发生Key Down键盘按下事件,在首次按下某个键时发生KeyUp键盘释放事件,在释放键吋发生我们一起动手来写一个事件处理程序你就明白了。编写事件处理程序的步骤如(1)单击要创建事件处理程序的窗体或控件。(2)在“属性”窗口中单击“事件”按钮□(3)单击要创建事件处理程序的事件(4)为处理程序命名。(5)定位到事件处理方法。(6)编写处理代码。现在我们来编写窗体的 Mousemove事件的处理程疗,当鼠标在窗体里面移动时,在窗体的标题栏显示鼠标的位置。第一步,在窗体设计器窗口选中窗体。第二步,在“属性”窗口中单击“事件”按钮。第三步,找到 Mouse move事件,单击 Mouse Move选中该事件,如图4.7所示。Fornl System. Windows Forms Form曰鼠标MouseEnterMouserMouseleayeMouseUponse love鼠标指针移过组件时发生图4.7选中 Mouse Move事件第四步,双击 Mouse move右侧的窗格,生成 Mouse move事件处理稈序方法,如图4.8所示。便開℃并发戤脂晖应開程序-1.c·Foxn1.s[设计]I MyRorm OralwTornl MouseMove (object sender, M]us e EventArgs e v1日1 sing systemusing Syst em Collections. Genericusing System Component Modelusing System. Drawingusing System. Texusing Syste. Windows Formsnamespace形 fOrmpubli: partial class Ftrublic Forml OInit ial i zeCom onent Oprivate void Forml MouseMove (ob ect sender, I图48生成 MouseMove事件处理方法第五步,在尘成的事件处理方法Fom1 Mousemove()中,编写事件处理代码:this.Text= string, ormat("捕捉到鼠标了!(0},(1})",e.x,e.)运行一下看看效果,按住Ctrl+Shit-B组合键生成解决方案再按F5键运行,将会看到如图49所示的效果。團扑捉到鼠标了1(126图49鼠标移动事件效果我们只编写了一行代码,就达到了这个效果。是不是非常方便?现在来分析一下这个事件处理程序的代码。//窗体的鼠标移动事件处理程序private void Form1 MouseMove(object sender MouseEventArgs e)thg.ext=8 tring. Format("捕捉到鼠标了!(0},{1))",e.x,e,Y);this是一个关键字,代表窗伓本身,在第学期我们会深入学习100第4章第一个 Windows程序r Text就是窗体的Text属性,添加的这行代码的意思就是设置当前窗体标题栏的文字。γ sender是事仵源,表示是谁引发了这个事件,比如在这个事件中,事件源就是窗体。不同的控件可能会共用同个事件处理方法,我们可以通过 sender得到引发事件的控件,这需要进行强制癸型转换e叫做鼠标事件参数( Mouseeventargs)对象,不同的事件会有不同的事件参数,如果是键盘事件,那么这里可能就是键盐事件参数手件参数类里面已绎封装了一些我们可能用到的数据,比如鼠标事件参数中就封表了鼠标的横纵坐标,因此我们可以通过εⅹ和eY来获得鼠标当前的横纵坐标。我们通过 String类的 Formato方法来设置要显示的字符串的格式,将方法的返回值赋给窗体的τext属性。那么当鼠标移动时,就可以在窗体的标题栏里面显小鼠标的位置了。入43使用窗体控件Net Framework为我们提供了非常多的控件,让我们能够非常快速地开发出专业的Windows应用程序。从现在开始,我们就通过一个“考试管理系统”项目来学习常用的控件。新建一个项目叫做 My School,这一章我们将刽建 My School项目的3个基本的界面:管理员主窗口、创建学员用户窗口、登录窗口,通过这3个窗口我们将知道如何使用菜单和一些窗体的基本控件。入4.3.1使用菜单条我们平时在系统中使用的很多应用程序都有菜单,通过菜单把应用程序的功能进行分组,能够方便用户查找和使用。典型的word的菜单如图4.10所示1-_i女⑦视团入山格式四亘表格囗化功分隔符色)特殊符号Y引用①菜单条图片)来自文件)仓自选图形△≡a回1页1节1/1位置2.5厘米1行1列录制订岁图4.10Word的菜单从图4.10中我们看到,停靠在窗体最上面的是染单条,菜单条中包含的每一项是顶层菜单项,顶层菜单项下的选项称为“子菜单”或“菜单项”。NET为我们提供了一个101開G开飘库应赠程MenuStrip探件(如图4.11所示),使我们能够方便地创建菜单。菜单条( Menu Strip):利用菜单条控件可以轻松地创建Oe那「三 Menustrip样的菜单,在菜单条中可以添加菜单项( Menuitem)、组合框( Combobox)、文本框( TextBox)。菜单条的主要属性见表43。图411菜单条控件表4-3菜单条的主要属性说明Name代码中菜单对象的名称Items在菜单中显示的项的集合Text与菜单相关联的文本创建菜单的步骤包括简单的6步(1)切换到窗体设计器。(2)在工具箱中,开“所有 Windows窗体”选项卡。(3)选中 MenuStrip。(4)单击窗体。(5)添加菜单项。(6)设置菜单项的属性和事件。垗在我们就开始逐渐完善考试管理系统项目。我们把创建 MySchool项目时自动生成的Form1窗体作为管珄员主窗体,在解决方案资源管理器中,将Form窗体的文件名改为Admin form,设置窗体的属性见表4-4,并通过lcon属性设置窗体显示的图标表4-4管理员窗体属性的设置属性值说明NamAdminform窗体对象的名称TexlMy Schoo-管理员窗体标题栏显示的文子Window StateMaximized窗体出现时是最大化的现在我们就向窗体中添加菜单。第一步,切换到 Adminform的设计器窗冂,在工具箱中找到如图411所示的菜单条控件第二步,将 Menustrip控件从工具箱拖放到窗上。 MenuStrip控件将自动停在窗体的顶端,并在窗体下方的区域中添加了一个代表菜单的图标,如图4.12所示。第三步,选中窗体下方的 menustrip 1菜单控件,在“属性”窗凵中将它的Name属性改为 msAdmin。102
用户评论
内容还行,也清楚,就是要分太高,在站内搜索下,还有要分低的!
这是全书第二部分,适合初学自学者~