C#控件开发(精选六篇)
C#控件开发 篇1
1 C# 控件开发
1.1 项目建立和设置
( 1) 运行Visual Studio 2010,“新建”C# 项目 , 选择“类库”, 将工程名称设置为“User Control Lib”, 如图1所示。
(2) 打开文件“Assembly Info.cs” , ( 如图2) , 修改其中的“[assembly: Com Visible (false)]”, 将“false”修改为true同时, 为了组件以后在网页上的使用和在线升级。在控件发布的时 候 , 将“Assembly Version”和“Assembly File Version”修改为想要发布的版本号, 例如第一次发布控件的时候, 版本为“1.0.0.0”, 更新完善后, 再次发布控件的时候, 将其版本修改为“2.0.0.0”。同时, 在对应的控件安装发布包和网页中将其设置为一致版本号。具体实现和设置网站发布和在线升级部分。
(3) 选中项目“User Control Lib”, 右键“属性”, 选择标签页“生成”。如图3所示, 勾选“xml文档文件”和“为COM互操作注册”。
1.2 控件的实现
打开控件对应的源代码文件User Control1.cs, 增加安全接口代码 (注意黑色加粗的地方是特别强调的地方), 同时增加了一个方法和属性来进行演示。代码如下:
2 cs 应用程序
(1) 建立一个cs程序User Control Lib CSDemo。
( 2) 选择属性 , 右键 , 增加引用 , 选择刚生 成的dl“User Control LIb” , 如图4所示 , 也可以通过浏览选择对应的dll文件添加。
(3) 打开演示窗体 , 工具箱 , 选择刚才创建的控件 , 并将其拖动到窗体, 调整到合适位置和大小, 添加事件Form_Load。在其中增加代码:
User Control11.Set Draw Text("test");//通过方法设置控件显示内容//或者user Control11.Draw Text = "test"; //通过属性设置控件//显示内容
最后, 编译运行软件。运行结果如图5所示。
3 网页应用
3.1 网页代码
网页上应用组件, 代码比较简单:
注意id为刚才建立的控件的标示, classid为组件对应的guid。Codebase对应的组 件。注意 为了以后 组件升级 方便 ,version为所创建的dll的文件版本号。
3.2 组件打包
组件安装包的制作需要经过下面几个步骤。
(1) 用VS2010建立安装项目“User Control Setup”, 如图6所示, 加入控件文件User Control Lib.dll。
( 2) 选中项目 , 选中注册 表编辑器 项 , 增加项[HKEY_CLASSES_ROOTCLSID {C5521773-8FF3-4b33-B908D8AEA5EF3183} Installed Version]"" = " 1,0,0,1" 其中1,0,0,1用dll的真实版本来替换。
( 3) 选中文件User Control Lib.dll, 右键“属 性” , 设置其Register属性为vsdrp COM, 如图7所示。
(4) 建立文件install.inf , 内容如下 :
C#控件开发 篇2
直接上代码如下:
WHC_MenuCell.h 头文件如下:
//// WHC_MenuCell.m// WHC_MenuCell//// Created by 吴海超 on 15/4/3.// Copyright (c) Sinosun Technology Co., Ltd. All rights reserved.//#import@class WHC_MenuCell;@protocol WHC_MenuCellDelegate- (BOOL)WHC_MenuCell:(WHC_MenuCell*)whcCell didPullCell:(NSInteger)index;//拉动tableView的回调@end@interface WHC_MenuCell : UITableViewCell@property (nonatomic,assign) CGFloat menuViewWidth; //菜单总宽度@property (nonatomic,retain) NSArray * menuItemTitles; //每个菜单的标题@property (nonatomic,retain) NSArray * menuItemTitleColors; //每个菜单的文字颜色@property (nonatomic,retain) NSArray * menuItemBackImages; //每个菜单的背景图片@property (nonatomic,retain) NSArray * menuItemNormalImages; //每个菜单正常的图片@property (nonatomic,retain) NSArray * menuItemSelectedImages; //每个菜单选中的图片@property (nonatomic,retain) NSArray * menuItemBackColors; //每个菜单的背景颜色@property (nonatomic,retain) NSArray * menuItemWidths; //每个菜单的宽度@property (nonatomic,strong) UIView * ContentView;//自定义内容view@property (nonatomic,assign) CGFloat fontSize; //字体大小@property (nonatomic,assign) NSInteger index;//cell下标@property (nonatomic,assign) iddelegate; //cell代理//单击菜单项- (void)clickMenuItem:(UIButton*)sender;//关闭菜单- (BOOL)closeCellWithAnimation:(BOOL)b;//关闭批量菜单- (BOOL)closeCellWithTableView:(UITableView*)tableView index:(NSInteger)index animation:(BOOL)b;//开始或者正在拉开菜单- (void)startScrollviewCell:(BOOL)state x:(CGFloat)moveX;//结束拉开菜单- (void)didEndScrollViewCell:(BOOL)state;@end
WHC_MenuCell.m源文件如下:
C#控件开发 篇3
关键词 GridView;Xml;数据
中图分类号:TP311.131 文献标识码:B
文章编号:1671-489X(2016)14-0033-02
1 前言
在ASP.NET架构中,GridView控件通常是与SQL数据进行绑定以实现显示数据功能。这种实现方法操作简易,容错性强,使用者不需要掌握太多的数据结构知识。但是在教学中为了能让学习者更好地理解GridView控件从数据源中读取数据的过程和数据存储的结构,使用Xml表作为数据源,其显示方式更加直观,严苛的编辑标准对于初学者的逻辑理解来讲也更加友好。
本文旨在提出一种逻辑较为简单易懂的命令来实现ASP.NET中通过GridView控件来对Xml表内数据进行删改的功能,命令行以易读性为第一标准,使学习者在了解根本数据传递方法之后,能够熟练掌握其命令逻辑,并在不同的环境下得以灵活运用。
2 核心代码分析
XML表结构 为了便于描述,本文采用图1所示的XML文档,该文档的根节点为
显示数据 由于显示数据的此段在后续操作中会被多次用到,因此定义一个子函数MyDataBind。首先创建一个数据集,然后读取外部Xml表数据加载至该数据集(Xml文件应与当前页面文件处于同一文件),再将数据集中第一个表,以默认方式作为GridView控件的数据源,最后绑定数据源。代码如下:
void MyDataBind()
{ DataSet dsShowXml = new DataSet();
dsShowXml.ReadXml(Server.MapPath(″XMLFile1.xml″));
if (dsShowXml.Tables.Count > 0)
{ GridViewShowXml.DataSource = dsShowXml.Tables[0].
DefaultView;
GridViewShowXml.DataBind(); } }
删除数据 删除数据时,首先创建一个XmlDocument对象,读取Xml表数据加载至该文档对象,然后查找节点,通过ParentNode中的删除子节点的方法删除找到的节点,最后保存XML文档,刷新数据。整个过程如图2所示。
在本例中,
ViewXmlDelete.Rows[e.RowIndex].Cells[3].Text+ ″′]″)”来实现的。
编辑和更新数据 编辑Gridview控件时,只需在RowEditing事件中获取用户选定的行号,然后通过调用MyDataBind函数显示数据。
更新数据时,需要在Gridview控件的RowUpdating事件中创建多个TextBox对象,从而获取在编辑状态时用户动态输入的信息(通过RowIndex和Cells定位,应该注意由于使用了GridView控件内置的编辑和删除按钮,在编辑时,GridView显示表的前两列被更新和取消按钮占用,因此在列定位时应该后移两列),再通过InnerText属性设置其所有子节点的值,最后保存XML文档,取消编辑状态,刷新数据。运行结果如图3所示。
3 总结
使用Xml表作为数据源时,由于与前台程序之间存在一个DataSet缓存区,数据先行载入后可以断开与数据源的连接;而在DataSet中数据的存储结构为同一节点里的所有元素储存在同一张DataTable中,其顺序和Xml表中节点的排列顺序一致。这些特性使得用GridView控件管理Xml表的规范数据时只用短时占用Xml表资源,大部分操作都在页面程序上进行,大大提升了运行速率。
参考文献
[1]王辉,等.ASP.NET 3.5(C#)实用教程[M].北京:清华大学出版社,2012.
C#控件开发 篇4
在软件开发过程中,图形化的界面可以使系统易用和易操作,但现在用户更希望系统能够实现全图形化操作,而不是常规的多级菜单操作。相比多级菜单来说全图形界面可以让用户在操作上更加直观和简洁,也更容易掌握。比如,在一个物探生产动态管理系统中,原来用户查看某项目的生产状况时,需要依次在菜单中选择“工区”、“队伍”、“项目名称”后,才能获得自己所想要查看的内容。在实际的开发需求中,为了使系统对客户的友好度更好,就采用了C#动态添加控件技术,实现在一张包含各工区的地图中点相应生产项目所的的位置,然后再在弹出的画面中点击所关注的的相应功能图标,以获得自己所关注的内容。
2 设计思路
原来的第一级菜单转换成一个pictureBox平面图,若干个Label来显示生产工区。当用户点击Label时,一个panel控件由隐藏状态改为显示状态、大小改为充满整个窗口。由数据库中查询此生产工区内的生产项目列表,依次在panel中加入Label和pictureBox控件。当用户点击Label或pictureBox控件时,另一个panel充满整个窗口,显示生产项目的相关功能图标和相关信息,如表1所示。
这里有个问题需要注意,每次初始化panel时要先清空里面原有的控件。
3 代码说明
3.1主程序
3.2 生产项目的点击处理
3.3 添加Label控件
3.4 添加Image控件
3.5 生产项目点击处理
3.6 数据库查询
4 结语
综上所述,使用了动态添加控件技术后,用户操作界面可以实现图形化,使用户在操作过程中更加直观、易懂,进一步增加系统对用户的友好度。
本程序在Windows XP、VS 2005中调试通过。
摘要:通过多级菜单的图形处理,讨论了C#动态添加控件的编程思路。
C#控件开发 篇5
在使用Visual Studio 2008开发网站中, 经常使用到GRIDVIEW控件来数据显示和发布, 它是一个功能非常强大的通用控件。它是Data Grid的后继控件, 功能比Data Grid更加丰富, 因为其具有智能标记面板, 使得常用的一些操作, 比如排序、分页等都可以很容易实现, 可以轻松实现双向数据绑定, 与数据源紧密结合, 实现对数据源数据的操作。它能自由定义列的类型、样式和模板选项。
2 GRIDVIEW控件的一些用法
Grid View控件用于显示表中数据源的值, 每列经过数据绑定表示一个字段, 而每行表示一条记录。它通常使用Web页面上。下面就在Visual Studio 2008环境中, 用C#语言开发, Oracle10为数据库, 在一个B/S结构中来介绍一下GRIDVIEW控件的一些用法:
2.1 数据显示
新建页面生成ASPX和CS两个文件, 在ASPX中添加GRIDVIEW1元素, 并且自定义某些字段列, 比如下列:
然后在cs文件中添加如下代码:
当执行Grid View Bind () 时, Grid View1便显示出数据, 如图1所示。
2.2 数据导出与分页
当数据量大的时候, GRIDVIEW控件就会显示成百上千行数据, 用户查看起来很不方便, 此时GRIDVIEW控件的分页功能就派上用场。GRIDVIEW控件的数据分页很容易实现, 设置其属性Allow Paging为true即可, 同时设置其属性Page Size的值, 显示每页要显示的行数。而将GRIDVIEW上的数据以Excel文件导出的时候, 对于设置了分页的GRIDVIEW来说, 只能导出当前页而不能将GRIDVIEW所有的数据导出。为了不影响分页显示而又将GRIDVIEW上的所有数据导出, 在CS文件中添加下面代码来实现:
其实实现起来很简单, 就是先取消分页功能, 然后将GRIDVIEW中的所有数据导出后, 再恢复分页功能。
2.3 数据主从显示
GRIDVIEW上的数据主从显示有好多方法可以实现, 比如GRIDVIEW与textbox的配合使用, GRIDVIEW与Details View的配合使用等等。这里以一张财务表显示为例, 介绍下GRIDVIEW与GRIDVIEW的使用。这张表要求首先查询到客户的基本信息, 然后点击某一客户信息, 显示出该客户某年12个月的借、贷、余额的详细信息。为实现此功能, 首先在aspx文件上添加元素Grid View1、Grid View2、Grid View3、Grid View4, 其设置如下:
在CS文件中, 添加如下代码:
通过调用Grid View Bind () 来给Grid View1加载数据, 然后点击Grid View1某一行数据时, 触发Selected Index Changing事件来显示详细数据。代码如下:
这样利用GRIDVIEW的自定义字段功能将同一条记录按照主从关系分别显示, 并加载到不同的GRIDVIEW上, 实现一条记录以关系表的形式来显示的效果, 如图2所示。
3 结语
GRIDVIEW控件的用法还有很多, 这需要在工作学习中不断学习使用该控件。以上的一些使用方法是本人在工作中学习和摸索出来的, 并在实际工作中广泛使用, 不足之处, 还要进一步完善。
摘要:在Visual Studio 2008中, 微软.NET 2.0新增的服务器控件GRIDVIEW, 是DataGrid的后继控件, 功能比DataGrid更加丰富, 在网站开发中经常用于数据显示和发布。主要介绍该控件在C#环境下与Oracle数据库相结合的几种使用方法, 希望对开发者有一定帮助。
C#控件开发 篇6
1 图像按钮用户控件的需求分析
用户要求的图像按钮控件要有4种不同的显示状态, 分别是正常、禁用、鼠标滑过和鼠标按下等。用户的需求是用4种不同颜色的图像表示上述4种状态。例如, 控件在正常状态下显示蓝色图像、禁用状态下显示灰色图像、鼠标滑过显示银白色图像、鼠标按下显示亮黄色图像等。下面是图像按钮用户控件的详细需求。
(1) 控件要有4种图像属性, 分别控制正常、禁用、鼠标滑过和鼠标按下等4种状态下, 控件中显示哪种图像。在此, 将以上4种属性分别称为:“正常图像属性”、“禁用图像属性”、“鼠标滑过图像属性”和“鼠标按下图像属性”。
(2) 在Visual Studio界面设计状态下, 当用户设置了控件的“正常图像属性”后, 控件中会立即显示属性中设置的图像。
(3) 系统启动后, 初始界面中控件以正常状态显示, 其界面上显示“正常图像属性”中设置的图像。
(4) 当鼠标箭头滑入控件内部时, 控件中的图像会切换成“鼠标滑过图像属性”中设置的图像。
(5) 当鼠标滑出控件时, 控件中的图像再次切换成正常状态下的图像。
(6) 在控件内部, 当鼠标第一次按下时, 控件中的图像切换成“鼠标按下图像属性”中设置的图像。当鼠标第二次按下时, 控件切换成正常状态显示。
(7) 当控件以鼠标按下状态显示的时候, 无论鼠标滑进滑出都以鼠标按下状态显示。
(8) 当控件不可用的时候, 控件中的图像为“禁用图像属性”中设置的图像, 无论鼠标滑进滑出都以禁用状态显示。
(9) 控件支持单击事件。
2 设计与实现
对用户需求以及现有系统控件进行分析后, 图像按钮用户控件采用了在Picture Box控件基础上设计的方案。具体为在项目中添加“用户控件”, 在用户控件的设计界面中加入Picture Box控件, 并设置其大小与用户控件界面大小相同。
2.1 属性的设计与实现
根据需求, 为图像按钮用户控件设计了5个属性, 分别是Back Image、Disable Image、Move Image、Down Image和Flag等。其中, Back Image对应“正常图像属性”, Disable Image对应“禁用图像属性”, Move Image对应“鼠标滑过图像属性”, Down Image对应“鼠标按下图像属性”, Flag用于判断用户是否单击了按钮, 程序中通过判断Flag, 决定鼠标离开控件后显示“鼠标按下图像”还是“正常图像”。上述属性中, 前4个为Image类型的属性, Flag为布尔类型的属性。
2.2 方法的设计与实现
实现图像按钮用户控件的主要方法有:User Control1_Load、picture Box1_Mouse Down、picture Box1_Mouse Enter、pictureBox1_Mouse Leave和set Normal等5个方法。
(1) User Control1_Load:该方法用于设置控件所在窗体加载时, 控件中显示哪种默认图像。具体代码如下所示:
(2) picture Box1_Mouse Down:该方法用于鼠标在控件上按下时, 指定显示哪个图像。当控件第一次被按下时, 由于Flag的初始值为false, 所以显示“鼠标按下图像”, 同时将Flag设置为true。而当第二次被按下时, 由于Flag的值为true, 所以图像切换为“正常图像”。具体代码如下所示:
(3) picture Box1_Mouse Enter:该方法用于鼠标进入控件内部时, 指定显示哪个图像 (如果控件没有被按下, 则显示Move Image指定的图像) 。具体代码如下所示:
(4) picture Box1_Mouse Leave:该方法用于鼠标移出控件内部时, 指定显示哪个图像。具体代码如下所示:
else this.picture Box1.Image=Back Image;
(5) set Normal:由于在应用系统的界面设计中, 通常都会加入多个本文设计的图像按钮用户控件, 而这些控件中只能有一个显示“鼠标按下图像”, 其他则要显示“正常图像”。因此, 在应用系统中, 必须能够调用某种方法使得用户控件上显示“正常图像”。set Normal方法正是起到上述作用的方法, 其代码如下所示:
2.3 事件的设计与实现
根据需求, 图像按钮用户控件要能够支持单击事件, 所以笔者设计了On Click事件。当用户在应用系统中单击用户控件时, 将触发On Click事件。由于用户控件被Picture Box整个覆盖着, 单击用户控件其实就是在单击Picture Box, 所以在Picture Box的单击事件中调用On Click事件即可实现在应用系统中单击用户控件时触发On Click事件的目的。具体代码如下所示:
3 用户控件的应用
如果要在应用系统中使用用户控件, 则必须先将该用户控件生成为可用的dll文件。具体方法为:在“解决方案资源管理器”中, 右击项目名称, 从弹出菜单中选择“生成”菜单项。之后, 便可以在项目的Debug文件夹中找到用户控件的dll文件。
在生成了可用的dll文件后, 就可以在应用系统中使用上面设计的用户控件了, 具体放法如下所示。
(1) 右击“工具箱”, 从弹出菜单中选择“选择项”, 打开“选择工具箱项”对话框。
(2) 在“选择工具箱项”对话框中, 选择“浏览”按钮, 并找到用户控件对应的dll文件将其打开。
(3) 单击“选择工具箱项”对话框中的“确定”按钮。此时, 工具箱中就会多出一个名称为User Control1的控件。
(4) 将该控件拖入设计器中, 设置其属性即可像其他标准控件一样使用该用户控件。
结束语
该图像按钮用户控件以Picture Box控件为基础进行了设计, 为其设置了4个新属性, 一个新事件, 并编写了相应的方法。经过在多个进销存软件系统中使用, 该控件运行稳定, 且非常实用。通常该控件并不单独使用, 而是一组一组的使用, 所以在其基础上可以进一步设计出相应的组控件, 提高其应用性, 比如, Visual Studio中的Check Box控件对应有Checked List Box控件。
参考文献
[1]使用Visual C#创作复合控件[DB/OL].http://msdn.microsoft.com/zh-cn/library/a6h7e207 (v=vs.100) .aspx.2010.[1]使用Visual C#创作复合控件[DB/OL].http://msdn.microsoft.com/zh-cn/library/a6h7e207 (v=vs.100) .aspx.2010.
[2]使用Visual C#从Windows窗体控件继承[DB/OL].http://msdn.microsoft.com/zh-cn/library/5h0k2e6x (v=vs.100) .aspx.2010.[2]使用Visual C#从Windows窗体控件继承[DB/OL].http://msdn.microsoft.com/zh-cn/library/5h0k2e6x (v=vs.100) .aspx.2010.
相关文章:
Expression Blend实例中文教程 布局控件快速入门Canvas01-23
Web测试中,各类web控件测试点总结01-23
控件在PowerPoint中的应用01-23
页面未检测到控件运行01-23
最新家长会发言稿家长发言 家长会发言稿家长发言简短(11篇)01-23
计算机二级考试VB考点:通用对话框控件01-23
浅谈LabVIEW中表格控件的使用01-23
WPS表格中控件工具箱的用处01-23
GridView控件01-23
巧用窗体控件完成表格规范化填写01-23