如何设置用户控件的默认事件?

时间:2011-11-05 06:20:29

标签: c#

我用事件创建了一个用户控件。每次我向控件添加一个新的控件实例时,我都不想添加以下代码。

Control1.Operate += new MyControl.OperateEventHandler(Control1_Operate)

相反,我想简单地双击该控件,并将IDE上面的代码添加到Designer文件中。默认情况下,Control1_Load事件在Designer文件中指定。有可能改变这个吗?

3 个答案:

答案 0 :(得分:7)

对于C#使用:

[DefaultEvent("Click")]
public class MyClass : BaseClass
{
    //code
}

MS代码: http://msdn.microsoft.com/en-us/library/system.componentmodel.defaulteventattribute.aspx

答案 1 :(得分:5)

您似乎想为控件设置DefaultEvent

在Control类上使用DefaultEventAttribute

存在类似的问题:
How can I set the default event to be edited for my custom control in Visual Studio?

希望它有所帮助!

答案 2 :(得分:0)

您正在寻找的行为更像是您对按钮的行为。双击它,您就可以为您生成事件处理程序方法。但在这里,事件处理程序代码是动态生成的。在你的cae中,你想要附加一个预定义的方法与用户控件的事件。尝试为usercontrol定义一些自定义属性或事件,然后设置默认值。对于例如:http://msdn.microsoft.com/en-us/library/yhzc935f.aspx