c#重点知识详解(五 代理 二 )

王朝c#·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

代理 二

心情好坏!!!!!!!!!!!!!!!!!!!!!

我的准女友跟我说拜拜!!!!!!!!!!!!!!!!!!!!!

再也不想搞计算机了兄弟们撤退吧!!!!!!!!!!!!!!!!!!!!

c#我没心情写了。以后再说吧!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

1〉事件

上一章讲解了有关代理的基本应用,本章将继续讲解深入代理的使用。这里我们讲解使用代理来处理事件。关于事件在另一章进行详细讲解。处理事件在c#中对比c++和vb来说更聪明,你可以写代理然后写事件处理者,事件处理者是一种定义在控件和窗体类中的重载的公共事件。我们在以下的例子中将看到代理在事件中的应用。

1。写代理

我想处理鼠标单击事件和在鼠标单击左键或右键处理一些代码。写下面的代码在你的初始控件函数中。

this.MouseDown += new System.WinForms.MouseEventHandler(this.Form_MouseDown);

2. 写事件

现在你可以写事件处理,你的事件的输出参数将返回窗体的鼠标事件参数的详细内容。以下时鼠标事件参数成员

MouseEventArgs members

Button 指示哪一个键被压,分为左、右、中、无 。

Clicks 指示鼠标压下次数及释放状态。

Delta 指示鼠标转动数量计数

X 鼠标点击x坐标点

Y 鼠标点击y坐标点

Event Handler

private void Form_MouseDown(object sender, System.WinForms.MouseEventArgs e)

{

switch (e.Button)

{

case MouseButtons.Left:

MessageBox.Show(this,"Left Button Click");

break;

case MouseButtons.Right:

MessageBox.Show(this,"Right Button Click" );

break;

case MouseButtons.Middle:

break;

default:

break;

}

}

在你的WinForm中测试你的程序,你会看到通过代理事件被关联了。

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

class I

{

public I(){}

~I() {}

public void IDoLoveYou()

{System.Console.WriteLine("I do love You");}

public void why(){System.Console.WriteLine("why?");}

}

class HER

{

public HER(){}

~HER() {}

public void IDo()

{System.Console.WriteLine("...............");}

public void slient(){System.Console.WriteLine(".........");}

}

class TELEPHONE

{public delegate void heartchat();

public TELEPHONE(){}

~TELEPHONE(){}

public void hello(){System.Console.WriteLine("yesterday night,i telephone to my girlfriend"); }

}

class chat{

static void Main() {

I i=new I();

HER her=new HER();

TELEPHONE telephone =new TELEPHONE();

telephone.hello();

TELEPHONE.heartchat tell=new TELEPHONE.heartchat(i.IDoLoveYou);

tell();

TELEPHONE.heartchat answer=new TELEPHONE.heartchat(her.IDo);

answer();

TELEPHONE.heartchat ask=new TELEPHONE.heartchat(i.why);

ask();

TELEPHONE.heartchat noanswer=new TELEPHONE.heartchat(her.slient);

noanswer();

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航