当前位置:编程学习 > C#/ASP.NET >>

求教c#添加事件实现问题


当我们对某个控件双击他的事件时候,系统自动生成了
private void saveAsMenuItem_Click(object sender, System.EventArgs e)
        {
                      
        }
我想问,这个在是怎么自动生成的。 --------------------编程问答-------------------- 这个问题问的有点大。
委托、事件机制 --------------------编程问答-------------------- 我在研究sharpdevelop源码,老是找不到这一块在哪里添加进去的 --------------------编程问答--------------------

    [DefaultEvent("OnError")]    //<---
    class My : Component
    {
        public event EventHandler OnError;
    }

DefaultEventAttribute告诉设计器,该类的默认事件是OnError,设计器就可以在双击组件的时候,自动生成相应代码。 --------------------编程问答--------------------
引用 3 楼 gomoku 的回复:
C# code
?



123456

    [DefaultEvent("OnError")]    //<---     class My : Component     {         public event EventHandler OnError;     }
DefaultEventAttribute告诉设计器,该类的默认事件是OnError,设计器就可以在双……



谢谢具体应该加在哪一块呢? --------------------编程问答-------------------- 你全局搜索saveAsMenuItem_Click,看在哪里订阅了。 --------------------编程问答--------------------
引用 5 楼 cuit 的回复:
你全局搜索saveAsMenuItem_Click,看在哪里订阅了。


private void saveAsMenuItem_Click(object sender, System.EventArgs e)
        {
            if (CurrentActiveDocumentLoaderType == LoaderType.NoLoader)
            {
                MessageBox.Show("Cannot persist document created without loaders");
                return;
            }

            if (CurrentActiveDocumentLoaderType == LoaderType.CodeDomDesignerLoader)
            {
                MessageBox.Show("Cannot persist document created using CodeDomDesignerLoader");
                return;
            }

            HostControl currentHostControl = CurrentDocumentsHostControl;
            ((BasicHostLoader)currentHostControl.HostSurface.Loader).Save(true);
        }
--------------------编程问答-------------------- 有没有人对这块了解过?
我研究的是基于sharpdevelop的一个开源软件,DesignerHost,我能实现双击添加事件,并且初始化自动加进去了
this.button1.Click += new System.EventHandler(this.handler_button1_Click);


但是事件方法没有加进去运行时找不到
Button1_Click
定义。 --------------------编程问答--------------------
引用 5 楼 cuit 的回复:
你全局搜索saveAsMenuItem_Click,看在哪里订阅了。

做的是这个http://blog.csdn.net/wonsoft/article/details/5828613
saveAsMenuItem_Click这是一个例子,其中一个控件,所有控件都有这个问题。 --------------------编程问答-------------------- 你能自己手动添加事件吗? --------------------编程问答-------------------- 这问题有点深奥
菜鸟路过帮顶
手动写个函数,在按钮事件属性上选这个函数这个算手动吗
这个涉及.net内部处理好了委托、事件
详细的要baidu、google下 --------------------编程问答-------------------- 第一个层次:需要定义事件,并把事件加到事件链:
//这个一般在designer.cs 文件里。但你自己添加也没问题。
this.saveAsMenuItem.Click += new System.EventHandler(this.saveAsMenuItem_Click);
private void saveAsMenuItem_Click(object sender, System.EventArgs e)
        {
                      
        }

第二个层次:点击按钮,添加上面的代码。
这个基本有 VS 实现,通过对 Button的众多 Atribute的解析,然后定义对应的行为。 --------------------编程问答--------------------
引用 11 楼 catchdream 的回复:
第一个层次:需要定义事件,并把事件加到事件链:
//这个一般在designer.cs 文件里。但你自己添加也没问题。
this.saveAsMenuItem.Click += new System.EventHandler(this.saveAsMenuItem_Click);
private void saveAsMenuItem_Click(object sender, System.E……


谢谢。。。我试一下
--------------------编程问答-------------------- 还是不对。。有没有技术牛人在此? --------------------编程问答--------------------
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,