2009-01-05 55 views
5

调用所有Visual Studio专家 - 当我在ac#web项目中处理.ascx或.aspx文件时,除非从代码视图切换到设计视图,否则事件不会显示在属性面板中。这是Visual Studio的有意功能吗? VS2005和VS2008似乎都以这种方式工作。Visual Studio Web用户控件事件仅在设计模式下显示?

是否有任何方法让事件始终显示在属性面板中?

回答

2

是的,这就是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); 
} 

如果您在使用智能感知,一旦你输入“+ =”你可以选择自动完成该行与事件处理方法的签名有做好。

0

是的,我希望我们能有事件自动完成的类似水平,我们用WPF得到,你可以看到在智能感知事件名称,并得到它的代码自动为您创建一个新的存根事件背后:(

4

我不知道VS是否打算工作,但是这是一个限制,如果你注意到有时点击控件并按下F4(或者点击属性标签),则无法加载属性正确的控制,然后你必须从列表中选择它。

叹息

除此之外,如果您制作自己的用户控件并为其提供事件,那么当您将它放在页面上时,该事件将不会显示在属性选项卡中。您必须在Page_Init事件中手动捕获它(如fallen888所示)。

这些天我不打扰去属性选项卡查看事件。您也可以在标记中键入事件的名称,然后将其写入代码隐藏文件中。

相关问题