当前位置: 代码迷 >> .NET组件控件 >> 用户控件怎么在Visual Studio的属性窗口中显示事件列表
  详细解决方案

用户控件怎么在Visual Studio的属性窗口中显示事件列表

热度:3621   发布时间:2013-02-25 00:00:00.0
用户控件如何在Visual Studio的属性窗口中显示事件列表?
在代码的控件事件列表里有了,但在设计里连事件列表都看不到,期待有人解答 
 


------解决方案--------------------------------------------------------
代码:

using System;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using HLGeneric;

[DefaultProperty("GradeId"),
DefaultEvent("GradeChanged"),]
public partial class Controls_GradeDropDown : UserControl
{
    protected void Page_Init(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
           //databind
        }
    }

    public int GradeId
    {
        get { return ddl.SelectedIndex; }
        set { try { ddl.SelectedValue = value.ToString(CommonTools.CI); } catch (IndexOutOfRangeException) { } }
    }

    public bool AutoPostBack
    {
        get { return ddl.AutoPostBack; }
        set { ddl.AutoPostBack = value; }
    }

    [Category("Action"), Description("GradeChanged"), Browsable(true), DisplayName("GradeChanged")]
    public event EventHandler GradeChanged
    {
        remove { ddl.SelectedIndexChanged -= value; }
        add { ddl.SelectedIndexChanged += value; }
    }
}

------解决方案--------------------------------------------------------
试试,把Category("Action")删除
------解决方案--------------------------------------------------------
不会,帮顶一下!
------解决方案--------------------------------------------------------
引用:
试试,把Category("Action")删除


那行东西就是出不来才加的
------解决方案--------------------------------------------------------
不会,帮顶一下!
------解决方案--------------------------------------------------------
应加上如下代码
protected void OnGradeChanged(EventArgs e)
{
    if (base.Events != null)
    {
        EventHandler handler = (EventHandler) base.Events[RuntimeHelpers.GetObjectValue(GradeChanged)];
        if (handler != null)
        {
            handler(this, e);
        }
    }
}
------解决方案--------------------------------------------------------
引用:
应加上如下代码 
protected void OnGradeChanged(EventArgs e) 

    if (base.Events != null) 
  相关解决方案