欢迎来到天天文库
浏览记录
ID:50041042
大小:199.00 KB
页数:35页
时间:2020-03-08
《C#网络编程及应用 教学课件 作者 刘瑞新第15章 基于组件的开发技术.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第十五章基于组件的开发技术15.1相关概念15.2组件的开发和调用方法15.3用户控件15.4自定义控件15.5在Web应用程序中调用Windows用户控件和自定义控件15.1相关概念组件组件也是类,但组件和类不同,一个类要成为组件,必须实现System.ComponentModel.Icomponent接口。控件控件是提供(或实现)用户界面功能的组件。所有控件肯定都是组件,但组件不一定是控件。属性(Property)通过get和set提供私有成员与外界的交互。特性(Attribute)特性是
2、一种标记,用于提供属性或方法的一些信息。属性和特性使用举例:[DefaultValue(null)]//默认值[Description(“背景色”)]//属性窗口底部的描述publicstringBackColor{get{……}set{……}}15.2组件的开发和调用方法15.2.1组件的一般设计方法简单组件开发示例。⑴进入VS.NET,在起始页中选择【新建项目】,在【项目类型】中选择【VisualC#项目】,在【模板】中选择【类库】,输入文件名TestComponent,选择相应保存路径,完成上
3、述操作后单击【确定】,进入代码编辑窗口。⑵将源代码改为如下内容usingSystem;usingSystem.Data;usingSystem.Data.SqlClient;namespaceTestComponent{publicclassMyDataBase{//返回表中记录数publicintGetRecordCount(stringconnString,stringtableName){intnumber=-1;SqlConnectionconn=newSqlConnection(connSt
4、ring);SqlCommandcommand=newSqlCommand("selectcount(*)from"+tableName,conn);try{conn.Open();number=(int)command.ExecuteScalar();conn.Close();}catch(Exceptionerr){thrownewException(err.Message);}returnnumber;}//根据Select语句自动生成其他SQL语句publicvoidBuildAdapter(
5、refSqlDataAdapteradapter){SqlCommandBuilderbuilder=newSqlCommandBuilder(adapter);adapter.DeleteCommand=builder.GetDeleteCommand();adapter.InsertCommand=builder.GetInsertCommand();adapter.UpdateCommand=builder.GetUpdateCommand();}}}⑶单击菜单【生成】,选择【生成TestCom
6、ponent】,即得到了TestComponent.dll组件。以后就可以在其他项目中使用该组件了。15.2.2在Windows应用程序中调用开发的组件Windows应用程序中组件调用示例。⑴新建一个Windows应用程序项目WinTestComponent,向设计窗体中拖放一个DataGrid控件,调整为适当大小。⑵选择【解决方案资源管理器】,右击【引用】,单击【添加引用】【项目】【浏览】,找到TestComponent.dll组件,然后单击【确定】。⑶在代码中添加名称空间引用usingSys
7、tem.Data.SqlClient;⑷修改构造函数为publicForm1(){InitializeComponent();stringconnString="Server=localhost;IntegratedSecurity=SSPI;database=pubs";MyDataBaseme=newTestComponent.MyDataBase();this.dataGrid1.CaptionText="总记录数:"+me.GetRecordCount(connString,"employee
8、");SqlConnectionconn=newSqlConnection(connString);SqlDataAdapteradapter=newSqlDataAdapter("select*fromemployee",conn);me.BuildAdapter(refadapter);DataSetds=newDataSet();adapter.Fill(ds,"employee");this.dataGrid1.SetDataBinding(ds
此文档下载收益归作者所有