委托和事件浅解
摘要:委托和事件浅解
一、委托
委托实际上就是C++里面的函数指针,你可以让这个指针指向委托定义时所声名的那种类型的函数。举个例子:
public delegate void 连接数据库委托();
表示:声名一个委托类型,这个委托叫“连接数据库委托”,它所能指向的函数都是返回值为void型,没有参数的函数。比如:
private void 连接Oracle数据库();
private void 连接SqlServer数据库();
我们现在的程序里面要根据用户设定的数据库类型,自动连接数据库。
程序里面可以这么写:
连接数据库委托 委托实例 = null;
switch(目标数据库类型)
{
case 数据库类型.Oracle数据库:
委托实例 += new 连接数据库委托(连接Oracle数据库);
break;
case 数据库类型.SqlServer数据库:
委
阅读全文
posted @
2005-09-23 12:22
lh8287
阅读(655)
推荐(0)
C#的WinForm程序应用了XP主题样式之后,ShowDialog方法出现问题的解决
摘要:大李的破程序,他在Application.Run(new Form1());之前应用了Application.EnableVisualStyles();
程序中有个按钮,Click事件的代码为:
Form2 frm2=new Form2();
frm2.ShowDialog();
程序运行时,点击此按钮,出现了一个窗体,然后关闭此窗体,再点击这个按钮,又会出现一个窗体,当关闭这个窗体时系统抛出了一个异常:System.Runtime.InteropServices.SEHException,外部组件引发异常。
在Google查了一下,发现了解决办法:
static void Main()
{
Application.EnableVisualStyles();
new Thread(new ThreadStart(AppRun)).Start();
}
private static void AppRun()
{
Applicat
阅读全文
posted @
2005-09-08 15:12
lh8287
阅读(1537)
推荐(0)
c#中的注视一览
摘要:C#中的注释要好好加以利用,这样就能做出带有注释的Dll或者控件,方便使用。
设计类的时候:
阅读全文
posted @
2005-09-08 15:10
lh8287
阅读(577)
推荐(0)