调用所有Visual Studio专家 - 当我在ac#web项目中处理.ascx或.aspx文件时,除非从代码视图切换到设计视图,否则事件不会显示在属性面板中。这是Visual Studio的有意功能吗? VS2005和VS2008似乎都以这种方式工作。Visual Studio Web用户控件事件仅在设计模式下显示?
是否有任何方法让事件始终显示在属性面板中?
调用所有Visual Studio专家 - 当我在ac#web项目中处理.ascx或.aspx文件时,除非从代码视图切换到设计视图,否则事件不会显示在属性面板中。这是Visual Studio的有意功能吗? VS2005和VS2008似乎都以这种方式工作。Visual Studio Web用户控件事件仅在设计模式下显示?
是否有任何方法让事件始终显示在属性面板中?
是的,这就是Visual Studio的工作原理。这不会帮助您在属性面板中查看它们,但是您可以通过在代码隐藏中键入以下内容来获取事件列表:
“this.
”,intellisense会显示一个列表。
我通常所做的是重写OnInit方法,并将所有事件处理函数映射放在那里。因此,它看起来是这样的:
override protected void OnInit(EventArgs e)
{
this.Load += new System.EventHandler(this.Page_Load);
this.myButton.Click += new System.EventHandler(this.myButton_Click);
base.OnInit(e);
}
如果您在使用智能感知,一旦你输入“+ =”你可以选择自动完成该行与事件处理方法的签名有做好。
是的,我希望我们能有事件自动完成的类似水平,我们用WPF得到,你可以看到在智能感知事件名称,并得到它的代码自动为您创建一个新的存根事件背后:(
我不知道VS是否打算工作,但是这是一个限制,如果你注意到有时点击控件并按下F4(或者点击属性标签),则无法加载属性正确的控制,然后你必须从列表中选择它。
叹息
除此之外,如果您制作自己的用户控件并为其提供事件,那么当您将它放在页面上时,该事件将不会显示在属性选项卡中。您必须在Page_Init事件中手动捕获它(如fallen888所示)。
这些天我不打扰去属性选项卡查看事件。您也可以在标记中键入事件的名称,然后将其写入代码隐藏文件中。