C#控件使用代码.pdf
《C#控件使用代码.pdf》由会员分享,可在线阅读,更多相关《C#控件使用代码.pdf(96页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章Visual Studio 2008开发平台的使用Visual S tu d io 是一套完整的开发工具,用 于 生 成 ASP.NET W e b 应用程序、XML Web S e rv ic e s.桌面应用程序和移动应用程序。Visual Basic.Visual C#和Visual C+都使用相同的集成开发环境(ID E),这样就能够进行工具共享,并能够轻松地创建混合语言解决方案。另外,这些语言使用.NET F ram e w o rk 的功能,它提供了可简化ASP W e b 应用程序和XML Web S e rv ic e s 开发的关键技术。Visual Studio 2
2、0 0 8 新增类设计器、A JA X 开发、W P F设计器、语言集成查询等 功 能,为用户开发提供了灵活而强大的技术支持.一、面向对象的思想方法1.1 本书目标Visual Studio 2 0 0 8 开发平台,从语言选择上看,既可以选择C#,也可以选择VB,C+;从开发模式看,既可以是B/S 模式,也可以是C/S 模式;从应用领域看,既可以是企业级应用,也可以是移动设备上应用。因此,介绍平台使用是非常丰富、而无能一书可以完成的,本书的目标是试图选择C#语言,采 用 B/S 模式,讨论一般的企业级应用。1.2 面向对象“物以类聚”这是人类认识世界的基本观点,人们总是把具有相同特征和行为的
3、事物划分为一类,软件作为服务人类的科学手段,也可以类的思维耒认识与刻划这个世界。在现代软件工程中,把事物特征看成是数据、信息、数据成员、字段、变量、对象、属性,;把事物行为看成是操作、信息处理、成员函数、函数、功能、服务、方法,。对象”是包含数据和操作该数据的方法的结构。一般来说,“类“c la s s 是一些内容的抽象表示形式,而“对象”是类所表示的内容的具体实例且是可用示例。共享类成员是此规则的一个例外,这种成员可在类的实例和声明为共享类类型的对象变量中使用。类由字段、属性、方法和事件组成。字段和属性表示对象包含的信息。字段类似于变量,因为可以直接读取或设置它们。例如,如果有一个名为“Ca
4、r”的汽车对象,则可以在名为“Color”的颜色字段中存储其颜色。属性的检索和设置方法与字段类似,但是属性是使用Property G e t和 PropertyS e t过程(方法)实现的,这些过程对如何设置或返回值提供更多的控制(也称属性访问器).在所存储值和使用此值的过程之间的间接层有助于隔离数据,并使您得以在分配或检索值之前验证这些值。方法表示对象可执行的操作(具备的功能)。颁 1 ,“Car”对象可以有“St art E ngined“D rive”和“Stop”方法。通过向类中添加过程(函数)来定义方法。事件是对象从其他对象或应用程序接收的通知,或者是对象传输到其他对象或应用程序的通
5、知。事件使对象得以在每当特定情况发生时执行操作。“Car”类的一个事件示例是 C heck_E ngine事件。因 为 M icrosoft W indow s 是事件驱动的操作系统,所以事件可来自其他对象、应用程序或用户输入(如鼠标单击或按键)。字段、属性、方法和事件只是面向对象编程全部内容的一半。真正的面向对象的编程需要对象支持三种特性:封装、继承和多态性。“封装”意味着将一组相关属性、方法和其他成员视为一个单元或对象。对象可以控制更改属性和执行方法的方式。例如,对象可在允许属性更改前验证值。通过隐藏对象的实现细节(一种称为“数据隐藏”的 做 法),封装还使在以后对实现进行更改更为容易。“
6、继承”描述基于现有类创建新类的能力。新类继承基类的所有属性、方法和事件,而且可用其他属性和方法自定义该新类。例如,可基于“Car”类创建名为“T ruck”的新类。T ru c k 类从C ar类继承 Color”属性,而且可有其他属性,如 FourW heelD rive。“多态性”意味着可以有多个可互换使用的类,即使每个类以不同方式实现相同属性或方法。多态性对于面向对象编程非常重要,因为它允许使用同名的项,而不管此时使用的是什么类型的对象。例如,假设给定基类“Car”,多态性使程序员能够为任意数量的派生类定义不同的“S tartE ngine”方法。名为“DieselCar”的派生类的“S
7、 tartE ngine”方法可以与基类中同名的方法完全不同。其他过程或方法可用完全相同的方式使用派生类的“St art Engine”方法,不管此时使用的是什么类型的“Car”对象。重载、重写和隐藏是很容易混淆的类似概念。虽然所有这三种技术都使您可以创建同名的成员,但它们之间有一些重要的差异。重载的成员用于提供属性或方法的不同版本,这些版本具有相同名称但是接受不同数量的参数或者接受不同数据类型的参数。重写的属性和方法用于替换在派生类中不适合的继承的属性或方法。重写的成员必须接受同一数据类型和参数数量。派生类继承重写的成员。隐藏的成员用于局部替换具有更广范围的成员。任何类型都可隐藏任何其他类型
8、。例如,可声明隐藏同名继承方法的属性。无法继承隐藏的成员。1.3 组件技术一般说耒,控件除了特定功能还有与用户交互部分,组件具有特定功能未必与用户交互.在我们讨论范围中,c#语言是纯面向对象的,因此组件也好,控件也好,本质上都是类。我们耒看看Label标签类.在工具箱中的标准控件中第一个控件是A Label,这是存储文本的标签.一 个 ASP.NET的项目中,选择一个页面,如 newp.aspx页,进入设计状态,然后,用鼠标选 中 A Label标签,按住左键拖入设计页中,默 认 ID 为 Labell.这 是 Label类的一个对象.应理解为 System.Web.UI.WebControl
9、s.Label Labell=new System.Web.UI.WebControls.Label();开发环境提供四个Label类,应用于不同的场合.如是:System.Web.UI.MobileControls.Label提供控件功能,用于表示在移动设备上显示文本的控件。System.Web.UI.WebControls.Label表示在网页上显示文本的标签控件。System.Windows.Controls.Label表示控件的文本标签,并提供对访问键的支持。System.Windows.Form.Label表示标准 W in d o w s 标签。这里是B/S开发,应 用 Syste
10、m.Web.Ul.WebControls.Label类.可从帮助文档查到这个类的属性、方法、事件。而现在拖入页面的ID 为 Labell标签控件是这个类的对象,或是实例,它具有类的全部属性、方法、事件.在设计页上选中Labell控件对象,击右键选属性,即展示该对象的属性、事件.作者安装的环境只显示类的部分属性及全部事件.对象属性,即代表对象的特征,调整属性,即改变着对象特征.也能改变对象的外观.如:背景、边框、字体、颜色等等.在控件显示属性框中,有一工具条,将鼠标移入即提示功能,如选中将出现提示如下:按分类顺序,字母顺序,属性,事件,属性页.每个控件都有事件,你可以选择适当的事件去调用适当功能
11、的处理方法.以满足客户要求.Visual Studio 2 0 0 8 开发平台的工具箱中提供许多控件,将其拖入设计页中,就生成控件类的一个对象,可以调整属性改变该对象的特征,可以选择事件调用方法,实现特定的功能,提供特定的服务.1.4平台结构3器器“落霏工具箝Q X解 决 方 案 资 源 省 理 器-解 决 方 案 Q X目国_ 回口曲 /标数总导5 报 表 HTIL碓证航聚底一重黑V ebP artx+AJAX E xtensifoxis加18勺 品用疝 画D解决方案,eb”(1 个项目)臼.E:“eb_j App_Dt*+_ll Default.aspxweb.config图 1-1、V
12、isual Studio 2 0 0 8 开发平台的结构布局1.5控件属性下面表1-1:列出的属性适用于所有从W e b C o n tro l类派生的W e b 服务器控件。表 1-1:AccessKey控件的键盘快捷键(AccessKey)。此属性指定用户在按住Alt的同时可以按下的单个字母或数字。例如,如果希望用户按下A lt+K 以访问控件,则指定“K”。仅 在 M icrosoft I nternetExplorer 4.0 及其更高版本中支持快捷键。A ttributes控件上的未由公共属性定义但仍需呈现的附加属性集合。任何未由W e b 服务器控件定义的属性都添加到此集合中。这使
13、您可以使用未被控件直接支持的H T M L 属性。只能在编程时使用此属性;不能在声明控件时设置此属性。BackColor控件的背景色。B ackC o lo r属性可以使用标准的H T M L颜色标识符来设置:颜色名称(“black”或“red”)或者以十六进制格式(#ffffff)表 示 的 R G B 值。BorderColor控件的边框颜色。B o rd e rC o lo r属性可以使用标准的HTML颜色标识符来设置:颜色名称(“black”或“red”)或者以十六进制 格 式(#ffffff”)表 示 的 R G B 值。BorderW idth控件边框(如果有的话)的 宽 度(以像
14、素为单位)。此属性可能不适用于I nternet Explorer 4.0 之前的浏览器中的所有控件。BorderStyle控件的边框样式(如果有的话)。可能的值包括:NotSetNoneDottedDashedSolidDoubleGrooveRidgeI nsetOutsetCssClass分配给控件的级联样式表(CSS)类。Style作为控件的外部标记上的C S S 样式属性呈现的文本属性集合。任何使用样式属性(例 如 Back Co I。r)设置的样式值都将自动重写此集合中的对应值。使用此属性设置的值不会自动反映在强类型样式属性中。某些控件支持允许您将样式属性应用于控件的各个元素的样式
15、对象。这些属性将重写使用S ty le 属性进行的任何设置。Enabled当此属性设置为true(默认值)时使控件起作用。当此属性设置为 fa ls e 时禁用控件。禁用控件将使该控件变灰并使之处于非活动状态。它并不会隐藏控件。EnableThem ing当此属性设置为true(默认值)时对控件启用视图状态持久性。当此属性设置为fa ls e 时对该控件禁用视图状态持久性。EnableView State当此属性设置为true(默认值)时对控件启用主题。当此属性设置 为 fa ls e 时对该控件禁用主题。Font为正在声明的W e b 服务器控件提供字体信息。此属性包含子属性,您 可 以 在
16、 W e b 服务器控件元素的开始标记中使用属性-子属性语法来声明这些子属性。例如,可以通过在W e b 服务器控件文本的开始标记中包含F o n t-B o ld 属性而使该文本以粗体显7 K oForeColor控件的前景色。此属性可能不适用于1 nternet Explorer 4.0 之前的浏览器中的所有控件。Height控件的高度。此属性可能不适用于1 nternet Explorer 4.0 之前的浏览器中的所有控件。Skinl D要应用于控件的外观。Tabindex控件的位置(按 T a b 键顺序)。如果未设置此属性,则控件的位置索引为0。具有相同选项卡索引的控件可以按照它们在
17、网页中的声明顺序用T a b 键导航。此属性只适用于1 nternet Explorer 4.0 及更高版本。ToolTip当用户将鼠标指针定位在控件上方时显示的文本。T o o lT ip 属性并不适用于所有浏览器。请检查浏览器的兼容性。W idth控件的固定宽度。可能的单位包括:像 素(px)磅(p t)派 卡(pc)英 寸(in)毫 米(m m)厘 米(cm)百 分 比()大 写 字 母 M 的 宽 度(em)小写 字 母 x 的 高 度(ex)例如,以声明方式设置1 0 0 磅宽 就 是 lO O pto有关以编程方式设置宽度的信息,请参见如何:设 置 W e b 服务器控件的单位属性
18、。默认单位是像素。并非所有浏览器都支持每种单位类型。1.6 工程案例本教材给出了三个工程案例,在 Visual Studio 2 0 0 8 开发平台下完成.一个是电子商务系统;一个是电子政务系统;第三是物流系统.二、工具箱中标准控件的使用2.1 Label 标签使 用 L a b e l标签控件在W e b 窗体页上的固定位置显示文本。与静态文本不同,它可以通过编程方式 设 置 T e x t属性来自定义所显示的文本。文 本 在 L a b e l控件中显示之前 并 非 H T M L编码形式。这使得可以在文本中的H T M L 标记中嵌入脚本。如果控件的值是由用户输入的,请务必要对输入值进
19、行验证以防止出现安全漏洞。示 例 1 -1 代码如下:Label Example/C#语言的脚本void Button_Click(Object Sender,EventArgs e)/按扭事件调用的方法(Label 1.Text=Server.HtmlEncode(Text 1.Text);/取文本框的值送标签上显示Label Example/form表单,收集信息标签对象Labell/显示初值文本输入框对象Textllabel 输入框初值按扭对象Buttonl/按扭事件调用函数名2.2 TextBox 文本框T extB ox服务器控件是让用户输入文本的输入控件。默认情况下,Text M
20、ode属性设置为S ingleLine,它创建只包含一行的文本框。您也可以将该属性设置为M ultiLine或Password。M ultiLine创建包含多行的文本框。Password创建可以屏蔽用户输入的值的单行文本框。文本框的显示宽度由其C olum ns属性确定。如果文本框是多行文本框,则显示高度 由R ow s属性确定。使 用T e x t属性确定TextB ox控件的内容。通 过 设 置M axLength属性,可以限制可输入到此控件中的字符数。将W rap属性设置为tru e来指定当到达文本框的结尾时,单元格内容应自动在下一行继续。其使用如示例1-1所示.2.3 Button 按
21、扭B u tto n控件使您能够在W e b窗体页上创建下压按钮。可以创建两种类型的按钮:subm i t按 钮 或com m a n d按钮。默认情况下,B u tto n控件是一个s u b m it按钮。s u b m it按钮没有与按钮关联的命令名(由Com m andNam e属性指定),它只是将网页发送回服务器。可 以 为Click事件提供事件处理程序,以编程方式控制单击s u b m it按钮时执行的操作。通 过 设 置Com m andNam e属性,com m and按钮将命令名与按钮相关联(如Sort)o这使您能够在W e b窗体页上创建多个B u tto n控件,并 在C
22、om m a n d事件的事件处理程序中以编程方式确定要单击的B u tto n控件。也可以对com m and按钮 使 用Com m andArgum e n t属性以提供有关要执行的命令(如Ascending)的附加信息。可 以 为Com m and事件提供事件处理程序,以编程方式控制单击command按钮时执行的操作。模板化控件中经常使用Com m and按钮,它将操作传送给父控件,例如,在D ataList进行选择或在Form V ie w中更改模式。默认情况下,在 单 击B u tto n控件时执行页验证。页验证确定与该页上验证控件关联的输入控件是否通过该验证控件指定的验证规则。如
23、果B u tto n控件需要禁用此行为(如re s e t按钮),请 将CausesValidation属性设置为false。由 于元素没有内容,所以可以用/结束该标记,而不是使用单独的结束标记。若 要 指 定B u tto n控件中显示的标题,请 设 置T e x t属性。下面的示例1-2:演示如何在.asp x文件中声明subm i t按钮控件。卜面的示例演示如何在.aspx文件中声明com m and按钮控件。下面的示例演示一个事件处理方法,该方法获取按钮单击并显示从该按钮的Com m andNam e 和 CommandArgument 属性传递的信息。void CommandBtn_
24、Click(Object sender,CommandEventArgs e)(Message.Text=You clicked the”+e.CommandName+“一 +e.CommandArgument+button.f,;2.4 LinkButton 使用使 用LinkB utton控 件 在W e b窗体页上创建超链接样式按钮。通过设置T e x t属性或将文本放置在LinkB utton控件的开始标记和结束标记之间,指定要在LinkB utton控件中显示的文本。可以创建“提交”按钮或“命令”按钮。LinkB utton控件的外观与H yperLink控件相同,但其功能与B u
25、tto n控件相同。如果要在单击控件时链接到另一个网页,请 使 用H yperLink控件。s u b m it按钮没有与之关联的命令名,它只是将网页发送回服务器。默认情况下,LinkB utton控件是一个su b m it按钮。可 以 为C lic k事件提供事件处理程序,以编程方式控制单击su b m it按钮时执行的操作。通 过 设 置Com m andNam e属性,可以将命令名与命令按钮(如Sort)相关联。这使您能够在一个网页上创建多个LinkB utton控件,并以编程方式确定单击的LinkB utton控件。也可以将Com m andArgument属性与命令按钮一起使用,以
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 控件 使用 代码
限制150内