第11章.用户控件和自定义控件(ASP.NET 3.5开发大全 共29章)

合集下载

自定义控件的介绍

自定义控件的介绍

自定义控件的介绍什么是控件?控件就是可重用的具有用户接口功能的零件。

在Windows中,控件代表着用户和应用层之间的交互式程序。

他们允许用户输入数据并操作它,从而实现某些操作上的应用,输入数据并以一种对看起来很舒服的方式显示数据。

一个应用程序的界面是由控件和基于这些控件之间的相互作用的功能及其下面的代码组成的。

让我们来看看下面的几张图片,你就会发现一些现今最受欢迎的控件。

你必须熟悉使用这些控件的方式,就会发现用编程比自己画去实现这些功能容易的多了。

按钮多选框标记进度条无线电按钮每一个软件的应用有一个看不见的部分但它能实际工作,以及看得见的部分,即它所提供的用户界面。

控件是完整的软件元素,它包含两部分:被画在屏幕上的图形接口,以及他们所包含的用来维持这个接口的代码。

控件有两个主要功能:·听取用户的命令并发送给应用程序·用一种用户能理解的方式来演示这些结果用这种方式你可以通过使用颜色选择器控件来改变背景颜色,你可以通过按按钮实行一个操作,或者你能看进度条来知道一部电影的播放状态。

特定种类的控件是一个指示器,它能以图像的形式来展示数据但是用户不能更改数据。

标记控件就是一个很好的例子。

很有趣的知道控件的整体思想来源就是个人计算机的发展。

开发者必须效仿一些真正的控件来提供一个良好的外观和感觉给应用程序。

让我们举个公共按钮的例子。

一个真正的按钮有不同的形式和尺寸,可能有多重属性,可以被挤压,被释放时可能会有回复,或者当按下去时会有一个声音。

为了复制一个真正控件的特性,很多技巧都被使用了。

回到早些时候,控件的外观和感觉,以及个人电脑,操作系统和发展系统是协调的。

二十年前,公共控件只有一个背景颜色,一个单一的字体文本,当你按了以后,它不会有很令人兴奋的反应。

今天,当你考虑设计一个按钮,你就会想到设计一个有圆形的角落,梯度颜色边境,位图,多种字体和可以改变大小的动画按钮。

事情在变化,而创建新的控件的要求也在不断增加。

ASP.NET中自定义用户控件及使用

ASP.NET中自定义用户控件及使用
界面控件 , 如 , 例 在打开某个添加页 面时 , 实现 自动填 充货 币币种 功能 。此种操作 可能 在做 项 目时会 很频 繁 的用 到 , A P N T 而 S.E 并没有提供具有类 似功 能 的标 准服 务器 控件 。如 果开 发人员 在
开发时每次遇到此类操作都进行 相应 的填充操 作 , 一方面会 影响 软件 的运行效率 , 另一方 面代 码冗余 量很 大 , 以有必 要把 它的 所 有关功能封装 , 做成用 户控 件 , 方便 开发人 员编 程 , 而且 , 可 以 也
Dco a T eaC 。在新 建 的页 面 中拖 放 一个 Do D w Ls 控 ii r r . X tn ye s rp o n i t 件, 并修改其 I D为 D oD w Ls 字典表 。如果需要 的话 , 以在 rp o n i一 t 可 其属性选项 中设置 D oD w Ls控件 的相关属性 参数 , rp o n i t 比如宽度
及 相关函数体 的封装操作 , 以及在 用户页面中如何使用 自定义的 内容。
鞠黼 黧
A . T 定 用 控 自 义 性 S N 自 t T e e a e a lt fr p t ie w r s i h o t a e d v l p n r c s .T i wi o ny i a t s r c h r r e i v o k n t e s f r e e o me tp o e s h s l n o l mp c oo e t w lt
i h s rp g . n t e u e a e Ke wo d A P NE Us r e n d c nr l Us r y rs S . T e —d f e o t s i o e —D f e t iu e e n d at b t i r

aspnet用户控件

aspnet用户控件

用户控件的应用本节主要学习用户控件的工作原理、如何创建用户控件以及如何向 网页添加用户控件的信息。

本节内容 用户控件概述如何:将Web 窗体页转换为 用户控件如何:在 网页中包括用户控件如何: 用户控件的实例,用实例详细说明如何使用用户控件用户控件概述在前面的教学示例中使用了,提供的标准控件。

毫无疑问,提供了相当丰富的控件。

但是,有时候这些控件还不能满足实际业务功能的要求。

在这种情况下,就可以使用开发具有所有自定义功能的新控件,本节我们学习如何在创建这些控件。

主要学习用户控件及应用。

自定义控件下节学习。

用户控件和自定义控件的优点在开始创建这些Web控件之前,有必要了解他们的用处。

正如类的构建是为了代码重用性,重用现有用户控件也很必要。

例如,如果不提供控件,那么即使是网页/窗体上的一个文本框也需要编码。

TexTbox控件虽小,但为网页开发人员节省了数小时的重复工作时间。

既然这样一种简单的控件能有如此强大的可重用效果,可以想象如果能够重用向DataGrid这样的复合控件,其帮助作用会有多大。

显而易见,用户控件和自定义控件有助于可视化能力和功能能力的可重用性,还有助于软件封装和分布这些功能。

用户控件是可重用的。

可重用控件用两种方式创建,第一个而且是最简单的方法就如同创建一个页面一样。

这种控件成为用户控件。

这些控件可简单地重用现有的 Web控件和HTML元素创建,生成一个ascx文件。

第二种方法是使用C#创建完成自定义的控件,这种控件叫自定义控件。

用户控件和自定义控件的差别●用户控件用.ascx文件表示。

它不是编译代码,便以随网页动态的进行,自定义控件被编译在DLL文件中,是编译代码。

●用户控件不会出现在工具箱中,而自定义控价会出现在工具箱中。

●用户控件支持缓存,而自定义控件不支持缓存。

●用户控件会对使用可视化设计工具的用户提供有限的支持,而自定义控件控件会提供全面的支持。

什么时候使用用户控件一般地,当内容在逻辑上可组合在一起,而且又有可能要在多处使用时,使用用户控件。

8用户控件和自定义控件

8用户控件和自定义控件

8.1 用户控件
创建用户控件的规则( 9.1) 创建用户控件的规则(例9.1) 在用户控件中不可以使用<html>、<body>和<head>这3个HTML标 记 用户控件必须使用特定的扩展名.ascx,否则不能正常运行 如果Web表单中使用了@Page指令,则必须把@Page指令修改为 @Control指令。因为@Control指令除支持trace属性外,还支持大部 分的@Page指令属性
第八章 用户控件和自定义控件
用户控件 自定义控件
8.1 用户控件
用户控件的概念 用户控件最简单的一个定义是布局代码中可重用的部分 ,它以.ascx为扩展名保存 创建用户控件非常简单,它们本来就是网页的一部分, 被封装在一个单独的文件中,可以在一个应用程序中根据需要多 次重用 编写用户控件和编写aspx页面的方法一样,我们只需在aspx页面中 编写代码就能够使用它们 用户控件可以引发自定义事件,由客户端用户来响应事件以调用 处理方法 用户控件一次只能被一个应用程序调用,如果想在不同的应用程 序中使用这些控件,就必须把控件复制到每个应用程序的目录中
8.2 自定义控件
创建自定义控件
第一步:编写控件代码
导入控件通常使用3 导入控件通常使用3个命名空间 System:这个命名空间包含的核心系统类,像字符串string和数据int32等 System.Web:它是所有类的父命名空间。它包括像HttpRequest以及 HttpResponse这样的类 System.Web.UI:该命名空间包含了控件类,许多控件类都属于其子类, 例如System.Web.UI.WebControls、System.Web.UI.HtmlControls 注意: 注意: (1)由于是在自己的命名空间中定义,所以类名是任意的,可给控件定义任何喜 欢的有效名称,但应避免使用已由使用的名称或者运行程序的其他部分 使用的名称,这是因为当页面使用@import指令或者在源文件中使用using指令引 用两个相同的命名空间时,发生命名冲突。 (2)声明类时,将类标记为public,任何人都可以创建并且使用该类的一个实例

UserControl用户自定义控件ASP.NET

UserControl用户自定义控件ASP.NET

UserControl用户自定义控件 UserControl 用户自定义控件关于用户自定义控件,想必大家已经非常熟悉了。

虽然说经常用过,但是只是简单的使用而已。

在这里再次总结一下中的UserControl,以便下次使用时能够得心应手。

本文将会介绍以下内容:1,什么是UserControl?2,如何定义一个UserControl?3,如何使用UserControl?4,如何通过UserControl属性来控制html?5,如何实现<u1:Control>string</u1:Control>?1,什么是UserControl?关于UserControl的解释MSDN,跟Wikipedia都有介绍:/en-us/library/ercontrol.aspx/wiki/#User_controls说白了,UserControl的存在就是为了重用html代码。

有点类似php的include或者require,但是它比include或require更加灵活,它不当只是单纯的引入代码,而且通过设置UserControl的属性来对html代码进行控制,从而更好的实现代码复用。

基本UserControl的使用方法更aspx页面是一样的,但是UserControl不可以通过url来访问,只能在页面或者其它用户控件中访问。

2,如何定义一个简单UserControl?新建UserControl方法:右键 web项目->添加->添加新项->Web->Web用户控件。

打开控件的后台代码,我们可以看到,控件继承于erControl类。

新建好的控件除了后缀名更不同之外,其它结构都一样,用法也基本一致。

这是,你就可以在ascx文件添加html代码了。

3,如何使用UserControl?在页面中使用UserControl只需要在页面的头部添加Register代码段:<%@ Register src="UserControl/UC_Demo.ascx" tagname="Demo" tagprefix="uc1" %>src表示用户控件所在的相对路径。

C#程序开发范例宝典目录解析

C#程序开发范例宝典目录解析

C#程序开发范例宝典目录第1章窗体与界面设计 11.1菜单应用实例 2实例001带历史信息的菜单 2实例002菜单动态合并 3实例003像开始菜单一样漂亮的菜单 4实例004任务栏托盘菜单 5实例005可以拉伸的菜单界面 5实例006菜级联菜单71.2工具栏设计7实例007带背景的工具栏7实例008浮动工具栏8实例009带下拉菜单的工具栏9实例010具有提示功能的工具栏91.3状态栏设计10实例011在状态栏中显示检查框10实例012带进度条的状态栏11实例013状态栏中加入图标121.4导航菜单界面12实例014OutLook界面12实例015带导航菜单的主界面14实例016图形化的导航界面151.5特色程序界面17实例017类QQ的程序界面17实例018类似Windows Xp的程序界面18 实例019以图形按钮显示的界面20实例020以树形显示的程序界面21实例021动态按钮的窗体界面221.6特殊形状的窗体24实例022非矩形窗体24实例023建立字体形状窗体25实例024控件随窗体自动调整26实例025带分隔栏的窗体27实例026随机更换主界面背景271.7多媒体光盘28实例027自动启动的多媒体光盘程序28 实例028为触摸屏程序添加虚拟键盘29 1.8窗体效果30实例029半透明渐显窗体31实例030窗口颜色的渐变321.9窗体动画33实例031窗体中的滚动字幕33实例032动画显示窗体34实例033制作闪烁的窗体35实例034直接在窗体上绘图37实例035动画形式的程序界面381.10标题栏窗体39实例036使窗体标题栏文字右对齐39实例037没有标题栏但可以改变大小的窗口391.11设置窗体位置40实例038设置窗体在屏幕中的位置40实例039始终在最上面的窗体411.12设置窗体大小42实例040限制窗体大小42实例041获取桌面大小42实例042在窗口间移动按钮43实例043如何实现Office助手441.13窗体控制技术45实例044在关闭窗口前加入确认对话框45实例045使用任意组件拖动窗体46实例046修改提示字体及颜色471.14其他技术48实例047如何为MDI类型窗体设置背景图片48实例048向提示框中添加图标49第2章控件应用512.1TextBox控件应用52实例049只允许输入数字的TextBox控件52实例050限制用户名称长度及设置密码文本54实例051自动删除非法字符55实例052为TextBox控件添加列表选择框572.2Button控件应用58实例053在Button按钮中显示图标582.3ComboBox控件应用59实例054将数据表中的字段添加到ComboBox控件59 实例055带查询功能的ComboBox控件612.4RichTextBox控件应用63实例056利用RichTextBox控件实现文档管理功能63 实例057利用RichTextBox控件实现文字定位与标识65 实例058用RichTextBox控件显示图文数据672.5ListBox控件应用68实例059在ListBox控件间交换数据68实例060将数据库数据添加到组合框中70实例061借助绑定控件实现数据选择录入71实例062ListBox拒绝添加重复信息722.6选择类控件应用73实例063利用选择控件实现权限设置74实例064利用选择控件实现复杂查询762.7ListView控件应用78实例065ListView列表拒绝添加重复信息78实例066将数据库数据添加到ListView控件80实例067用ListView控件制作导航界面81实例068在ListView控件中对数据排序或统计83实例069在ListView控件中绘制底纹84实例070在列表视图中拖动视图项85实例071用ListView控件选取整行数据88实例072用ListView控件开发登录界面892.8TreeView控件应用91实例073将数据库数据显示到树视图中91实例074用TreeView控件制作导航界面93实例075用TreeView控件遍历磁盘目录94实例076TreeView控件在数据库中的应用96实例077带复选框的树状菜单982.9其他控件典型应用100实例078TrackBar的简单应用100实例079SplitContainer的应用102实例080MaskedTextBox控件的简单应用103实例081制作日历计划任务105实例082ImageAnimator类显示动画图片108实例083QQ头像列表1102.10控件技术112实例084程序运行时智能增减控件112实例085控制焦点移动114实例086动态创建控件115实例087在Button按钮上绘图1162.11焦点变换与输入控制117实例088按回车键焦点在控件中移动的录入窗口117实例089程序运行时拖动控件119实例090控件得到焦点时变色120实例091控件的输入限制1212.12特殊控件122实例092为控件制作立体效果122实例093获取控件名称和内容124第3章组件应用1273.1BackgroundWorker组件128实例094BackgroundWorker组件执行异步操作1283.2ErrorProvider组件130实例095使用ErrorProvider组件验证文本框输入130实例096利用ErrorProvider组件查看数据集中的错误132 3.3EventLog组件134实例097使用EventLog组件读写Windows系统事件日志134 实例098使用EventLog组件保存Windows系统日志136实例099使用EventLog组件向本机现有日志中添加条目1383.4FileSystemWatcher组件140实例100使用FileSystemWatcher组件监视系统日志文件是否被更改140 3.5HelpProvider组件142实例101使用HelpProvider组件调用帮助文件1423.6Process组件143实例102使用Process组件访问本地进程1433.7Timer组件145实例103使用Timer组件制作计时器145实例104使用Timer组件显示当前系统时间150实例105使用Timer组件制作左右飘动的窗体151实例106使用Timer组件实现奥运倒计时1523.8ServiceController组件154实例107使用ServiceController组件控制计算机的服务1543.9ImageList组件156实例108使用ImageList组件制作动画图片1563.10DirectoryEntry组件157实例109使用DirectoryEntry组件建立虚拟目录158第4章图形技术1614.1绘制图形162实例110基本图形绘制162实例111在图片中写入文字163实例112局部图片的复制165实例113波形图的绘制1664.2图形转换168实例114BMP转换成JPG格式168实例115JPG转换成BMP格式170实例116位图转化为WMF171实例117Ico文件转化为位图172实例118图片批量转换工具1734.3图像预览175实例119局部图像放大175实例120浏览大图片177实例121剪切图片178实例122图像旋转181实例123鼠标拖拽图像1824.4图形缩放与变换183实例124如何放大和缩小图像183实例125如何旋转JPG图像184实例126如何实现图形翻转1854.5图像效果186实例127百叶窗效果显示图像186实例128推拉效果显示图像187实例129水平交错效果显示图像188实例130垂直交错效果显示图像190实例131图像纹理效果191实例132图像浮雕效果193实例133积木效果194实例134马赛克效果显示图像1954.6图像字体197实例135旋转的文字197实例136当前系统字体列表198实例137空心文字199实例138如何在图片上平滑移动文字201 4.7图像动画202实例139动画背景窗体202实例140随鼠标移动的图像203实例141十字光标定位204实例142抓取鼠标形状2064.8图像识别207实例143查看图片的像素207实例144获取指定点的RGB值2074.9图像工具208实例145获取图片类型208实例146简单画图程序209实例147看图工具213实例148文字保存为图片2154.10图像应用215实例149随机更换壁纸程序216实例150屏幕保护217实例151模拟石英钟219实例152生肖速查221第5章多媒体技术2255.1CD、VCD播放226实例153播放指定的avi-mid-wav文件226 实例154获取多媒体详细信息列表227 5.2MP3、W A V播放228实例155带记忆功能的MP3播放器228实例156自动播放的MP3播放器231实例157学校体操定时音乐播放2335.3动画播放234实例158播放Flash动画234实例159制作A VI播放器236实例160播放Gif动画237实例161利用Image制作小动画2395.4媒体控制240实例162检测是否安装声卡240实例163打开和关闭CDROM241实例164控制PC喇叭发声2425.5多媒体应用243实例165开机祝福程序243实例166制作家庭影集245实例167产品电子报价246实例168产品滚动展示程序248实例169将图片资源添加到EXE里249 5.6屏幕保护相关程序250实例170电子相册屏幕保护程序250实例171歌曲播放屏幕保护程序251第6章文件系统2536.1创建和删除文件254实例172创建和删除文件夹254实例173建立临时文件255实例174根据日期动态建立文件256实例175清空回收站2576.2查找文件258实例176搜索文件259实例177检查文件是否存在260实例178提取指定文件夹目录2616.3修改文件261实例179更改文件名称262实例180修改文件属性262实例181修改文件及目录的名字2646.4文件目录265实例182获得临时文件目录265实例183获取应用程序所在目录266实例184得到系统当前目录266实例185在程序中改变当前路径2676.5复制文件268实例186移动正在使用的文件268实例187批量复制文件2696.6指定类型的文件操作270实例188文本文件的操作270实例189简单的文件加密解密2716.7其他273实例190获取窗口文本273实例191判断文件是否正在被使用274实例192在程序中调用.HLP文件275实例193C#中实现文件拖放276实例194文件比较276第7章操作系统与Windows相关程序279 7.1启动相关280实例195进入Windows前发出警告280实例196实现注销、关闭和重启计算机281 7.2获得磁盘属性284实例197获得硬盘序列号284实例198获取映射驱动器路径286实例199判断驱动器类型2877.3磁盘相关设置288实例200取消磁盘共享288实例201检查驱动器容量289实例202检测磁盘是否准备好290实例203图表显示磁盘容量291实例204格式化磁盘2937.4系统控制294实例205怎样隐藏鼠标294实例206允许和禁止用户关机295实例207锁定计算机2967.5系统设置297实例208设置系统输入法297实例209设置桌面颜色298实例210鼠标交换左右键2997.6系统监控299实例211检测系统启动模式300实例212内存使用状态监控301实例213监视剪贴板内容3027.7系统软件信息303实例214获取用户名303实例215获取系统目录305实例216注册系统热键306实例217获取和修改BIOS计算机名307 7.8鼠标操作308实例218动画鼠标309实例219限制鼠标活动区域310实例220获取鼠标在任意点的位置311实例221判断键盘按下的键值3117.9程序控制312实例222打开控制面板中的程序313实例223添加程序托盘314实例224不出现在任务栏上的程序314实例225怎样调用外部的Exe文件315实例226关闭外部已开启的程序3167.10程序运行317实例227防止程序多次运行317实例228开机后程序自动运行319实例229获取任务栏尺寸大小320实例230改变系统提示信息321实例231获取系统环境变量322实例232启动屏幕保护3237.11系统隐藏324实例233隐藏、显示任务栏324实例234隐藏、显示开始按钮325实例235查看当前系统版本326实例236使桌面图标文字透明328实例237检索系统中正在运行的任务329实例238列出系统中的打印机3307.12其他332实例239两种信息发送方式332实例240功能快捷键336第8章注册表3398.1操作注册表340实例241怎样存取注册表信息340实例242注册表保存注册信息341实例243设置“显示属性”窗体342实例244列出注册表指定项下全部键值3438.2系统设置344实例245隐藏、显示桌面图标345实例246隐藏驱动器345实例247禁用运行注册表3478.3IE浏览器设置348实例248修改IE浏览器标题栏内容348实例249隐藏IE浏览器的右键关联菜单349实例250设置IE浏览器的默认主页350实例251禁止修改IE浏览器主页3518.4应用软件设置352实例252设置Word 2000文档及图片的保存路径352实例253限制软件使用次数353第9章数据库技术3559.1连接Access数据库356实例254连接Access数据库356实例255连接加密的Access数据库357实例256自动识别Access 2000数据库路径358实例257连接网络上共享的Access 2000数据库3609.2连接SQL Server数据库361实例258使用ODBC DSN连接SQL Server数据库361实例259使用ODBC非DSN连接SQL Server数据库364 实例260使用OLE DB连接SQL Server数据库365实例261建立SQL Server数据库连接3669.3连接其他数据库367实例262连接Excel367实例263连接Oracle数据库3689.4数据库结构的读取与修改369实例264读取SQL Server数据库结构369实例265修改SQL Server数据库结构3729.5数据录入374实例266利用数据绑定控件录入数据374实例267使用对象录入数据376实例268利用SQL语句录入数据379实例269利用存储过程录入数据3809.6图片存取技术383实例270使用存取文件名的方法存取图片383实例271使用对象向SQL Server数据库存入图片384 9.7数据修改387实例272利用数据绑定控件修改数据387实例273利用数据对象修改数据390实例274利用SQL语句修改数据391实例275利用存储过程修改数据3939.8数据保存前判断395实例276判断输入数据是否符合要求395实例277通过存储过程实现自动编号3989.9数据删除401实例278删除表格中指定的记录401实例279利用SQL语句删除数据4029.10数据记录403实例280分页显示信息403实例281移动记录4049.11数据维护406实例282在C#中分离SQL Server数据库406实例283在C#中附加SQL Server数据库407实例284在C#中附加单文件SQL Server数据库4099.12数据备份恢复410实例285备份SQL Server数据库410实例286还原SQL Server数据库4139.13管理系统开发相关415实例287开启SQL Server数据库415实例288断开SQL Server数据库与其他应用程序的连接417实例289带图像列表的系统登录程序419实例290利用SQL语句执行外围命令420实例291系统初始化421第10章SQL查询相关技术42510.1SELECT子句426实例292查询特定列数据426实例293使用列别名428实例294在列上加入计算430实例295使用函数设置条件43110.2查询常量432实例296查询数字433实例297查询字符串434实例298查询日期数据436实例299查询逻辑型数据437实例300查询空数据43810.3查询变量440实例301利用变量查询字符串数据440实例302利用变量查询数值型数据441实例303利用变量查询日期型数据44210.4模式查询444实例304利用“_”通配符进行查询444实例305利用“%”通配符进行查询445实例306利用“[]”通配符进行查询446实例307利用“[^]”通配符进行查询448实例308复杂的模式查询44910.5TOP和PERCENT限制查询结果450实例309查询前10名数据450实例310取出数据统计结果的前10名数据451实例311查询销售量占前50%的图书信息453实例312查询库存数量占后20%的图书信息454 10.6周期、日期查询455实例313查询指定日期的数据455实例314查询指定时间段的数据457实例315按月查询数据45810.7比较、逻辑、重复查询460实例316查询数据大于指定条件的数据460实例317NOT与谓词进行组合条件的查询461实例318查询时不显示重复记录463实例319列出数据中的重复记录和记录条数465 10.8在查询中使用OR和AND运算符466实例320利用OR运算符进行查询466实例321利用AND运算符进行查询467实例322同时利用OR、AND运算符进行查询469 10.9排序、分组统计471实例323数据分组统计(单列)471实例324在分组查询中使用ALL关键字473实例325在分组查询中使用CUBE运算符475实例326在分组查询中使用ROLLUP477实例327对数据进行降序查询479实例328对数据进行多条件排序480实例329对统计结果进行排序482实例330按仓库分组统计图书库存(多列)483 实例331多表分组统计484实例332使用COMPUTE485实例333使用COMPUTE BY48710.10聚合函数488实例334利用聚合函数SUM对销售额进行汇总488实例335利用聚合函数A VG求某班学生的平均年龄490实例336利用聚合函数MIN求销售额、利润最少的商品492实例337利用聚合函数MAX求月销售额完成最多的员工493实例338利用聚合函数COUNT求日销售额大于某值的商品数495实例339利用聚合函数First或Last求数据表中第一条或最后一条记录496 10.11多表查询(连接查询)498实例340利用FROM子句进行多表查询498实例341使用表别名499实例342合并多个结果集50110.12嵌套查询503实例343简单嵌套查询503实例344复杂嵌套查询504实例345嵌套查询在查询统计中的应用50610.13子查询508实例346用子查询做派生的表508实例347用子查询作表达式510实例348在Update语句中应用子查询51110.14联合语句Union512实例349使用联合查询512实例350多表联合查询514实例351对联合查询后的结果进行排序51510.15内联接查询517实例352简单内联接查询517实例353复杂内联接查询518实例354使用内联接选择一个表与另一个表中行相关的所有行51910.16外联接查询520实例355left outer join查询521实例356right outer join查询522实例357使用外联接进行多表联合查询52310.17利用IN进行查询525实例358用IN查询表中的记录信息525实例359使用IN引入子查询限定查询范围52610.18交叉表查询527实例360利用Trasform分析数据527实例361利用Trasform动态分析数据529实例362静态交叉表(SQLServer 2000)531实例363动态交叉表(SQLServer 2000)53310.19函数查询535实例364在查询语句中使用格式化函数536实例365在查询语句中使用字符串函数537实例366在查询中使用日期函数53810.20having语句应用540实例367利用having语句过滤分组数据540实例368having语句应用在多表查询中54110.21视图的应用543实例369在C#中应用视图543实例370获取数据库中的全部用户视图544实例371通过视图修改数据54510.22存储过程的应用546实例372C#应用存储过程546实例373应用存储过程添加数据547实例374应用存储过程修改数据549实例375应用存储过程删除数据550实例376C#应用查询存储过程551实例377获取数据库中全部的存储过程552实例378加密存储过程55310.23触发器的应用555实例379Insert触发器的应用555实例380Update触发器在系统日志中的应用556实例381触发器的嵌套使用557实例382获取数据库中的触发器559第11章报表与打印技术56111.1Windows组件打印562实例383打印窗体中的数据562实例384图形打印56411.2利用报表生成器设计报表566实例385利用报表专家设计并显示学生基本信息566实例386分组统计报表569实例387在水晶报表中添加图表57111.3水晶报表基本操作574实例388在水晶报表中使用Access数据库575实例389在水晶报表中使用SQL Server数据库576实例390订货总金额超过10万元显示“恭喜获奖”文字577 实例391薪资大于或等于1万元使用蓝色字体标记580实例392筛选薪资大于2000元的男员工582实例393按类别分组统计图书库存584实例394按成绩总分降序排序585实例395部门销售量占公司总销售量的业绩百分比586 11.4子报表的使用588实例396插入子报表588实例397编辑与重新导入子报表589实例398根据需要显示子报表59111.5调用Office进行打印593实例399利用Word打印员工报表593实例400利用Excel打印学生信息报表595第12章图表技术59712.1简单图表598实例401绘制坐标系598实例402绘制椭圆599实例403绘制矩形601实例404绘制曲线60212.2柱形图表603实例405将汇总数据利用图表分析603实例406柱形图表分析商品走势605实例407对排序数据进行分析608实例408利用控件实现柱形图分析60912.3折线图表610实例409利用图表分析产品销售走势610实例410利用图表分析彩票中奖情况612实例411多曲线数据分析614实例412网站人气指数曲线分析61712.4饼型图表619实例413利用饼型图分析公司男女比率619实例414利用饼型图分析产品市场占有率620实例415利用多饼型图分析企业人力资源情况621 12.5图表技术的应用623实例416绘制验证码623实例417绘制不规则窗体625第13章硬件相关开发技术62713.1串口控制628实例418通过串口发送数据628实例419通过串口关闭对方计算机63013.2加密狗631实例420密码写入与读出加密狗631实例421使用加密狗进行身份验证63413.3IC卡应用635实例422向IC卡中写入数据635实例423读取IC卡中的数据638实例424利用IC卡制作考勤程序63913.4监控641实例425简易视频程序641实例426摄像头监控录像644实例427超市摄像头定时监控系统64513.5语音卡控制647实例428语音卡电话呼叫系统647实例429客户来电查询系统652实例430语音卡实现电话录音65313.6手机程序开发655实例431利用短信猫收发短信息655实例432利用短信远程关闭计算机659实例433短信息采集烟草销售数据660实例434“春晚”节目评比短信息互动平台663 13.7其他程序664实例435条形码扫描器销售商品664实例436利用神龙卡制作练歌房程序665第14章网络开发技术66914.1计算机设置670实例437更改计算机名称670实例438通过计算机名获取IP地址672实例439通过IP地址获取主机名称673实例440修改本机IP地址674实例441得到本机MAC地址677实例442获得系统打开的端口和状态678实例443更改DNS地址68014.2远程控制681实例444远程控制计算机682实例445远程服务控制68314.3网络复制文件686实例446网络中的文件复制68614.4局域网管理688实例447在局域网内发送信息688实例448获取网络中所有工作组名称690实例449列出工作组中所有计算机692实例450获取网络中某台计算机的磁盘信息693 实例451映射网络驱动器69414.5网络连接与通信696实例452编程实现Ping操作69614.6网络聊天室698实例453利用C#设计聊天程序698实例454编写网络聊天室700第15章Web编程70315.1浏览器应用704实例455制作自己的网络浏览软件704实例456XML数据库文档的浏览70815.2上网控制710实例457定时上Internet710实例458监测当前网络连接状态71215.3邮件管理713实例459收取电子邮件713实例460SMTP协议发送电子邮件71715.4网上信息提取719实例461提取并保存网页源码719实例462提取网页标题722第16章加密、安全与软件注册72516.1数据加密与解密726实例463数据加密技术726实例464文本文件加密与解密727实例465利用图片加密文件73216.2Access数据库安全735实例466如何编程修复Access数据库735实例467访问带验证模式的Sqlserver 2000数据库73716.3软件注册与加密739实例468利用INI文件对软件进行注册739实例469利用注册表设计软件注册程序741实例470利用网卡序列号设计软件注册程序743实例471根据cpu序列号、磁盘序列号设计软件注册程序746 第17章数据结构与算法74917.1链表的实现750实例472单向链表的实现75017.2双向链表755实例473双向链表75517.3堆栈760实例474堆栈的实现76017.4队列762实例475队列的实现76317.5树的实现764实例476树的实现76417.6排序769实例477冒泡排序769实例478选择排序770实例479插入排序771实例480希尔排序77217.7常见算法的实际应用773实例481判断素数的算法773实例482加密和解密算法774实例483判断身份证是否合法775实例484判断IP地址是否合法的算法777实例485按要求生成指定位数编号778实例486身份证号从15位升到18位算法779第18章C#高级开发78118.1Windows服务开发782实例487将局域网聊天程序开发成Windows服务78218.2Remoting分布式开发789实例488运用Remoting实现文件传送789实例489大规模数据访问时缓解服务器压力79618.3COM+服务开发802实例490COM+服务实现银行转账系统803实例491COM+服务解决同时访问大量数据并发性807 第19章实用工具81319.1数据库工具814实例492自动配置ODBC的程序814实例493制作SQL Server提取器81719.2个人工具819实例494个人通讯录819实例495电子名片盒822实例496个人日记本823实例497个人理财管理82519.3实用工具827实例498电话区号、邮编管理软件827实例499火车时刻查询软件828实例500网站网址导航程序83219.4其他工具833实例501人民币金额转换834实例502列举局域网SQL服务器836实例503整点报时程序837实例504红绿灯程序839实例505万年历841实例506彩票抽奖机844实例507电子相册846第20章程序打包84920.1最简单的程序打包850实例508最简单的程序打包850实例509将特定文件安装到指定文件夹中85220.2打包注册表信息854实例510打包注册表信息854技术要点对应实例位置857。

ASP.NET自定义控件教程

ASP.NET自定义控件教程
自定义控件实例教程
自定义控件实例教程
2009 年 4 月
自定义控件实例教程


为开发人员定义了许多常用的服务器端控件, 这些控件拥有完整的生命周期, 可以帮助开发人员完成大部分日常工作,并且, 允许开发人员定义自己的服务器 端控件——用户控件和自定义控件。 相比较而言, 自定义控件编写起来所做的工作更多一些, 但也更灵活,开发人员可以参与到控件完整的生命周期中,灵活的控制控件的生成,本文档 旨在通过一系列实例使您理解 自定义控件的含义和开发过程。 事实本文档和我一开始规划的内容相比较, 少了自定义控件设计时支持这一部分, 这是 我个人也感觉比较遗憾的地方——确实时间不太充裕, 那么这份 PDF 文档算是 自 定义控件实例教程的一个终结。 本教程中的代码可以在 /archive/2009/01/14/19.aspx 下载 在此要感谢我的老师, 是她带领我进入软件开发的行业, 并且我从她身上学到了很多软 件开发以外的东西,她对我产生了很大的影响,还要感谢在编写过程中博客园(blo )和许多热心网友的大力支持,同时还要感谢我的妻子和我的父母,有了他们的支持 我才得以安心工作。 再次感谢大家。
作者介绍
王峰,专注与.NET 是 wangfengv@,您可以通过该地址与我联系。
自定义控件实例教程


自定义控件介绍 ..............................................................................................................1 第一天 简单的星级控件 .......................................................................

C# winform 常用控件大全

C#  winform  常用控件大全

1、窗体 (2)2、Label 控件 (4)3、TextBox 控件 (4)4、RichTextBox控件 (6)5、NumericUpDown 控件 (7)6、Button 控件 (8)7、GroupBox 控件 (8)8、RadioButton控件 (8)9、CheckBox 控件 (9)10、ListBox 控件 (9)11、ComboBox 控件 (11)12、CheckedListBox 控件 (11)13、PictureBox 控件的使用 (11)14、Timer 控件 (12)15、ProgressBar控件和TrackBar控件 (12)16、HScrollBar 控件和VScrollBar控件的使用 (14)17、OpenFileDialog 控件 (14)18、SaveFileDialog 控件 (15)19、FontDialog 控件 (15)20、ColorDialog控件 (15)21、PrintDialog控件和PrintDocument 控件 (16)22、用户自定义对话框 (16)23、菜单控件 (16)25、MDI 应用程序设计 (17)26、键盘事件处理 (18)27、鼠标事件处理 (19)28、排列窗体上的控件 (19)1、窗体1、常用属性(1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。

(2)WindowState属性:用来获取或设置窗体的窗口状态。

取值有三种:Normal (窗体正常显示)、Minimized(窗体以最小化形式显示)和Maximized(窗体以最大化形式显示)。

(3)StartPosition属性:用来获取或设置运行时窗体的起始位置。

其取值及含义如表9-1 所示。

默认的起始位置是WindowsDefaultLocation。

(4)Text属性:该属性是一个字符串属性,用来设置或返回在窗口标题栏中显示的文字。

ASP.NET开发大全第11章.用户控件和自定义控件

ASP.NET开发大全第11章.用户控件和自定义控件

第11章用户控件和自定义控件在中,系统自带的服务器控件为应用程序开发提供了诸多便利。

在应用程序开发中,许多功能都需要重复使用,而如果在应用程序开发中重复的编写类似的代码是非常没有必要的。

让开发人员可以自行开发用户控件和自定义控件以提升代码的复用性,本章即将讲解用户控件和自定义控件的开发和使用。

11.1 用户控件在ASP编程中,开发人员经常使用Include方式包含其他文件从而简化编程过程。

而在 中,控件能够提高应用程序中代码的复用性,不仅提供了服务器控件,还支持用户自定义控件,从而提高了代码的复用性。

11.1.1 什么是用户控件用户控件使开发人员能够根据应用程序的需求,方便的定义和编写控件。

开发所使用的编程技术将与编写Web窗体的技术相同,只要开发人员对控件进行修改,就可以将使用该控件的页面的所有控件都进行更改。

为了确保用户控件不会被修改、下载,被当成一个独立的Web窗体来运行,用户控件的后缀名为.ascx,当用户访问页面时,用户控件是不能被用户直接访问的。

注意:虽然.ascx文件会阻止用户的直接访问,但是一些常用的下载工具还是能够下载.ascx文件。

11.1.2 编写一个简单的控件用户控件是以.ascx为后缀名的,在Visual Studio 2008中,可以通过【添加新项】选项创建一个用户控件,如图11-1所示。

图11-1 创建用户控件用户控件创建完毕后,会生成一个.ascx页面。

.ascx页面结构同.aspx页面基本没有什么区别。

在解决方案管理器中可以打开.aspx页面和.ascx页面进行对比,其结构并没有太大的变化,如图11-2和图11-3所示。

图11-2 创建一个用户控件图11-3 用户控件的结构用户控件中并没有“<html><body>”等标记,因为.ascx页面作为控件被引用到其他页面,引用的页面(如.aspx页面)其中已经包含<body><html>等标记。

ASP NET的常用控件课件

ASP NET的常用控件课件
【例3-7】
3.ListBox控件和DropDownList控件 (1)ListBox 控件
ListBox控件的语法格式如下:
<asp:ListBox ID="ListBox1" runat="server" Width="控件的宽度 px" Rows="显示的行数"
onselectedindexchanged="ListBox1_SelectedIndexChanged" … > <asp:ListItem Value="选项值1">列表框中显示的文字
onselectedindexchanged="RadioButtonList1_SelectedIndexChang ed" … >
<asp:ListItem Value="选项值1" … >单选钮旁显示的文
字1</asp:ListItem>
<asp:ListItem Selected="True" … >单选钮旁显示的文
2 添加到Web窗体中的每一个控件都会生成相应的 HTML语句,其格式如下:
<asp:控件类型名称 ID="控件标识名" runat="server" 其 他属性 />

<asp:控件类型名称 ID="控件标识名" runat="server" 其 他属性><asp:/控件类型名称>
3.1.4 添加服务器控件的事件
本章内容:控件概述,标准控件,多个控件 共享一个事件,网站中资源的路径。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第11章用户控件和自定义控件在中,系统自带的服务器控件为应用程序开发提供了诸多便利。

在应用程序开发中,许多功能都需要重复使用,而如果在应用程序开发中重复的编写类似的代码是非常没有必要的。

让开发人员可以自行开发用户控件和自定义控件以提升代码的复用性,本章即将讲解用户控件和自定义控件的开发和使用。

11.1 用户控件在ASP编程中,开发人员经常使用Include方式包含其他文件从而简化编程过程。

而在 中,控件能够提高应用程序中代码的复用性,不仅提供了服务器控件,还支持用户自定义控件,从而提高了代码的复用性。

11.1.1 什么是用户控件用户控件使开发人员能够根据应用程序的需求,方便的定义和编写控件。

开发所使用的编程技术将与编写Web窗体的技术相同,只要开发人员对控件进行修改,就可以将使用该控件的页面的所有控件都进行更改。

为了确保用户控件不会被修改、下载,被当成一个独立的Web窗体来运行,用户控件的后缀名为.ascx,当用户访问页面时,用户控件是不能被用户直接访问的。

注意:虽然.ascx文件会阻止用户的直接访问,但是一些常用的下载工具还是能够下载.ascx文件。

11.1.2 编写一个简单的控件用户控件是以.ascx为后缀名的,在Visual Studio 2008中,可以通过【添加新项】选项创建一个用户控件,如图11-1所示。

图11-1 创建用户控件用户控件创建完毕后,会生成一个.ascx页面。

.ascx页面结构同.aspx页面基本没有什么区别。

在解决方案管理器中可以打开.aspx页面和.ascx页面进行对比,其结构并没有太大的变化,如图11-2和图11-3所示。

图11-2 创建一个用户控件图11-3 用户控件的结构用户控件中并没有“<html><body>”等标记,因为.ascx页面作为控件被引用到其他页面,引用的页面(如.aspx页面)其中已经包含<body><html>等标记。

而如果控件中使用这样的标记,可能会造成页面布局混乱。

用户控件创建完成后,.ascx页面代码如下所示。

<%@ Control Language="C#" AutoEventWireup="true"CodeBehind="mycontrol.ascx.cs" Inherits="_11_1.mycontrol" %>其中没有任何的“<body><html>”等标记,而.ascx.cs页面代码基本同.aspx相同,示例代码如下所示。

using System; //使用系统命名空间using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web; //使用Web命名空间using System.Web.Security;using System.Web.UI; //使用UI命名控件using System.Web.UI.HtmlControls; //使用Html控件命名空间using System.Web.UI.WebControls; //使用Web控件命名空间using System.Web.UI.WebControls.WebParts;using System.Xml.Linq; //使用LINQ命名空间namespace _11_1{public partial class mycontrol : erControl //从控件类派生{protected void Page_Load(object sender, EventArgs e) //页面加载方法{}}}用户控件能够提高复用性,前面介绍的服务器控件,从很多情况下来说都可以看作是用户控件的一种。

当网站需要登录框时,不可能在每个需要登录的地方都重新编写一个登录框,最好的方法是每个页面都能够引用一个登录框。

当需要对登录框进行修改时,可以一次性的将所有的页面都修改完毕,而不288289需要对每个页面都修改登录框。

要达到这种目的,使用用户控件是最好不错的了。

.ascx 页面允许开发人员拖动服务器控件,并编写相应的样式来实现用户控件,同时用户控件也能够支持事件、方法、委托等高级编程。

编写一个用户登录窗口,可以通过几个TextBox 控件和Button 控件来实现,示例代码如下所示。

<%@ Control Language="C#"AutoEventWireup="true" CodeBehind="mycontrol.ascx.cs" Inherits="_11_1.mycontrol" %><div style="border:1px solid #ccc; width:300px; background:#f0f0f0; padding:5px 5px 5px 5px; font-size:12px;"> 用户登录<br /><br />用户名 : <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br /><br /> 密码: <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br /><br /> <asp:Button ID="Button1" runat="server" Text="登录" /><asp:HyperLink ID="HyperLink1" runat="server">还没有注册?</asp:HyperLink> </div>上述代码创建了一个登录框界面。

当用户进行网站访问时,网站希望用户能够注册和登录到网站从而提高网站的用户粘度、提升访问量。

所以设置登录窗口是非常必要的,界面布局如图11-4所示。

图11-4 编写用户登录界面当界面布局完毕后,就需要为用户控件编写事件。

当用户单击【登录】按钮时,就需要进行事件操作。

同Web 窗体一样,双击按钮同样会自动生成事件,示例代码如下所示。

protected void Button1_Click(object sender, EventArgs e) {Label1.Text = "登录成功"; //显示登录信息}当单击【登录】按钮时,系统提示登录成功,当然这里只是一个简单的用户控件。

如果要实现复杂的用户控件的登录窗口,还需要对用户登录进行验证、查询和判断等功能。

当用户控件制作完毕后,就可以在其他页面引用用户控件,示例代码如下所示。

<%@ Register TagPrefix="Sample" TagName="Login" Src="~/mycontrol.ascx" %>//声明控件引用在这段代码中,有几个属性是必须编写的,这些属性的功能如下所示:❑ TagPrefix :定义控件位置的命名控件。

有了命名空间的制约,就可以在同一个页面中使用不同功能的同名控件。

❑ TagName :指向所用的控件的名字。

❑ Src :用户控件的文件路径,可以为相对路径或绝对路径,但不能使用物理路径。

了解了相关属性,就能够在其他页面中引用该控件了,示例代码如下所示。

<%@ Page Language="C#"AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="_11_1._Default" %> <%@ Register TagPrefix="Sample" TagName="Login" Src="~/mycontrol.ascx" %>290<html xmlns="/1999/xhtml" > <head runat="server"> <title>用户控件</title> </head> <body><form id="form1" runat="server"><div><Sample:Login runat="server" id="Login1"></Sample:Login> </div></form> </body> </html>上述代码声明了用户控件,并使用了用户控件,使用用户控件代码如下所示。

<Sample:Login runat="server" id="Login1"></Sample:Login>//使用用户控件从上述代码可以看出,用户控件的格式为TagPrefix:TagName ,当声明了用户控件后,就可以使用TagPrefix:TagName 的方式使用用户控件。

这样一个用户控件就使用完毕了,如图11-5所示。

图11-5 使用用户控件运行Default.aspx 页面,虽然在Default.aspx 页面中没有使用制作和编写任何控件,以及代码,但是却已经运行了登录框,这说明用户控件已经被运行了,如图11-6所示。

图11-6 运行用户控件当需要对登录框进行修改,而无需对页面进行修改时,只需要修改相应的用户控件即可。

当多个页面进行同样的用户控件的使用时,若需要对多个页面的控件进行样式或逻辑的更改只需要修改相应的控件,而不需要进行繁冗的多个页面的修正。

11.1.3 将Web窗体转换成用户控件在编写用户控件时,会发现Web窗体的结构和用户控件的结构基本相同。

相关文档
最新文档