用户控件如何在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")删除
[解决办法]
不会,帮顶一下!
[解决办法]
那行东西就是出不来才加的
[解决办法]
不会,帮顶一下!
[解决办法]
应加上如下代码
protected void OnGradeChanged(EventArgs e)
{
if (base.Events != null)
{
EventHandler handler = (EventHandler) base.Events[RuntimeHelpers.GetObjectValue(GradeChanged)];
if (handler != null)
{
handler(this, e);
}
}
}
[解决办法]
报错:事件“Controls_GradeDropDown.GradeChanged”只能出现在 += 或 -= 的左边
里面代码注释掉之后事件列表里也没有显示出来
[解决办法]
把代码切换成design或者split就出来了