2011-08-22 78 views
0

我想为c#中的常规按钮控件或任何其他我定​​义的控件定义新事件。怎么办呢?c#中用户定义控件或公共控件的新事件的定义#

+0

你也可能需要阅读的答案到类似的问题:http://stackoverflow.com/questions/2464784/what-is-the-syntax-to-declare-an-event-in-c – tobsen

+0

或[这个问题](http://stackoverflow.com/问题/ 2448487 /如何对调度的事件 - 在-C/2448530#2448530)。 –

回答

0

您可以从按钮控件的子类中定义一个新事件。

在您的课堂中使用event关键字,如链接页面上的示例所示。

0

希望。我明白你的真正含义,导致“编程技巧”标签混淆了我。

Here你可以找到一个简短但很好的例子,说明如何做到这一点。

如果这不是你要求的,请更好地解释。

+0

@谢谢,从手机写入,没办法格式化答案。 – Tigran

0

如果您想为事件处理程序提供其他信息,请首先从EventArgs派生类,或者使用现有派生类。

比你定义在你的控制事件:


    public event EventHandler&ltyourEventClass> MyEventName; 


    public event EventHandler MyEventName; 

,如果你不想让更多的相关信息。

现在你应该定义一个私有方法来从您的代码调用事件(我不喜欢这个公开,但如果你需要随意更改):


    private void InvokeMyEvent(... parameter for your additional infos ...) 
    { 
     var handler = MyEventName; 
     if (handler == null) return; 

     handler(this, new MyEventArgs(...parameters...); // if you have additional parameters 
     handler(this, EventArgs.Empty); // if you don't want additional parameters 
    } 
+0

你的第二个代码被剪掉看起来像第一个代码。 – tobsen

+0

谢谢..总是遇到麻烦< and > – Carsten

+0

现在有一个;丢失后< ; - )应该是公共事件EventHandler < yourEventClass> MyEventName;但是我不能改变它,因为SO只允许包含超过6个非空白字符的变化:( – tobsen