我是一名VB.NET开发人员,试图在业余时间学习C#。请参阅以下代码:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.Load += Form1_Load;//event handler code
}
private void Form1_Load(object sender, EventArgs e)
{
string test = "got here";
}
}
这是一个Windows窗体应用程序。如果我将事件处理程序代码添加到构造函数,则Form1_Load处理load事件。
现在请参阅下面的Web窗体应用程序:
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
string s = "got here";
}
}
在没有任何事件处理程序代码的情况下触发Page_Load?
我的问题是:Page Life Cycle事件是否自动连接到功能名称,例如Page_Load自动处理c#ASP.NET中的页面加载?为什么这不适用于Windows窗体?你在哪里把事件处理程序代码放在Windows窗体中? .designer?
答案 0 :(得分:1)
在Asp.Net中,您可以设置AutoEventWireup值。请查看此文章https://support.microsoft.com/en-us/kb/324151
但是,当我需要处理事件时,对我来说最简单的方法是转到aspx源视图,找到 runatserver 控件并在那里指定我的处理程序。例如:
<asp:TextBox ID="txtCustomer" runat="server" />
当您键入“on ...”时,将显示事件列表(事件由光线图标标识),选择OnLoad和Create。
<asp:TextBox ID="txtCustomer" OnLoad="txtCustomer_Load" runat="server" />
现在转到你的cs代码隐藏文件,你会看到在那里创建了默认处理程序。
protected void txtCustomer_Load(object sender, EventArgs e)
{
}
另一种选择是进入设计视图,右键单击控件并转到属性。单击光线图标并添加处理程序。
答案 1 :(得分:0)