c# - 无需使用 Visual Studio 2010 中的设计模式即可找到事件的正确参数

标签 c# .net asp.net visual-studio visual-studio-2010

有没有办法知道 Visual Studio 2010 中的事件需要哪些参数?

假设我有一个 DropDownList 控件,我想将一个方法绑定(bind)到“OnSelectedIndexChanged”,我会做这样的事情

在 ASPX 文件中:

<asp:DropDownList ID="lstMyList" runat="server" OnSelectedIndexChanged="lstMyList_SelectedIndexChanged"></asp:DropDownList>

在代码隐藏中:

protected void lstMyList_SelectedIndexChanged(object sender, EventArgs e) 
{
    ...
}

有没有办法知道该方法需要哪些参数? (在这种情况下,发送者的对象和事件的 EventArgs 参数。)

我知道您可以通过在设计模式中双击正确的事件来轻松创建该方法,但它会使您的代码变得困惑,所以我不想使用它。

谢谢!

最佳答案

您可以通过“转到定义”(F12) 找到相应事件的参数,找出它使用的委托(delegate)类型,然后再对其进行定义。在这种情况下 SelectedIndexChanged事件类型为 EventHandler定义如下:

[SerializableAttribute]
[ComVisibleAttribute(true)]
public delegate void EventHandler(
    Object sender,
    EventArgs e
)

您还可以通过搜索网络或按 F1 并在帮助中搜索来找到此信息。


I know you can easily create the method by double-clicking the right event in Design Mode, but it does a mess with your code so I prefer not to use it.

我认为您应该尝试克服对使用设计器的恐惧。你很可能因为不使用 Visual Studio 中的代码生成功能而浪费了更多的时间在生产力损失上,而不是你通过保护自己免受设计者弄乱你的代码而可能节省的时间。

关于c# - 无需使用 Visual Studio 2010 中的设计模式即可找到事件的正确参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4541135/

相关文章:

c# - 如何使用 C# 将转义字符放在特殊字符之前?

c# - 将相同的属性应用于我的所有多边形

c# - 域驱动设计 (DDD),我的域可以引用 RabbitMQ 或任何其他 nuget 包吗?

.net - Nuget 包未安装 .NETCoreApp 的依赖项

C# LPT inpout32.dll

c# - 在 Web 窗体项目中禁用自动友好 URL

c# - 字段的实际性能与属性

c# - 如何将 CSV 文件拆分为多个部分

c# - 在不阻塞当前线程的情况下显示表单(对话框)(进度条示例)

javascript - Jquery:带有输入字段的 Colorbox 弹出窗口。如何在 ASP.NET 中使用用户控件捕获输入并将其保存回页面