C#有Handles关键字吗?

时间:2011-05-25 20:56:06

标签: c# .net asp.net vb.net handles

Protected Sub Menu1_MenuItemClick(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.MenuEventArgs) Handles Menu1.MenuItemClick


End Sub

在VB.net中,我们有Handles关键字,我想知道C#是否具有可比性。或者您是否必须手动将所有方法连接到每个控件的事件(特别是在ASP.NET中)?

5 个答案:

答案 0 :(得分:10)

不。你必须像这样连接事件

Menu1.MenuItemClick += Menu1_MenuItemClick;

答案 1 :(得分:4)

在C#中很容易设置处理程序。在我的选项中比VB.Net容易得多。 您需要确保处理程序在页面中尽早设置才能被解雇。 只需输入对象名称(Menu1)即可。 (事件的名称)“+ =”并点击两次选项卡。 Visual Stuido将为您生成一切。

答案 2 :(得分:3)

您必须使用+=语法自行分配事件。

答案 3 :(得分:1)

通常这在标记中是正确的。

<asp:Menu ID="Menu1" runat="server" onmenuitemclick="Menu1_MenuItemClick"></asp:Menu>

在代码隐藏中它看起来像

protected void Menu1_MenuItemClick(object sender, MenuEventArgs e)
{

}

您可以从设计器中在Visual Studio中生成所有这些内容。选择菜单控件,转到属性窗口(f4),查看事件列表(闪电)并双击事件名称。

您还可以使用+=手动订阅事件处理程序,但每次加载页面时都必须这样做。

答案 4 :(得分:0)

如果你不介意这样做,你可以随时将AutoEventWireUp设置为“true”。然后C#将自动将事件处理程序与“VB”名称绑定。