C#有Handles关键字吗

本文关键字:关键字 Handles | 更新日期: 2023-09-27 17:57:36

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中(?

C#有Handles关键字吗

没有。你将不得不像这个一样连接事件

Menu1.MenuItemClick += Menu1_MenuItemClick;

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

在C#中设置处理程序非常容易。在我的选择比VB.Net容易得多。您需要确保处理程序在页面中设置得足够早,以便被解雇。只需键入对象名称(Menu1(。(事件名称(按下"+="并点击选项卡两次。Visual Stuido将为您生成一切。

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

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

在代码后台,它看起来像

protected void Menu1_MenuItemClick(object sender, MenuEventArgs e)
{
}

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

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

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