Hello All,
Today I will try to deliberate my experience on custom event creation in .NET , Actually I was trying to find something like hands on for event creation in .NET application, suddenly I got a quick help from one of my brother Sadique, who helped me out to resolve the thirst.
We are going to create a custom control where we will define our event class and event handler.To do that first take a user control named InputControl.ascx . The ascx page is as bellow.
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="InputControl.ascx.cs" Inherits="InputControl" %><asp:Label ID="lblLabel" runat="server" Text=""></asp:Label> <br /><asp:TextBox ID="txtTextBox" runat="server"></asp:TextBox> <br /><asp:Button ID="btnSubmit" runat="server" Text="Submit" onclick="btnSubmit_Click" />
In that page I put a textbox control to take input , a button control to fire our custom event handler and a label to show our input result through our custom event.
The InputControl.ascx.cs code behind file is as bellow :
using System; public partial class InputControl : System.Web.UI.UserControl{ protected void Page_Load(object sender, EventArgs e) { } public string EventInputBox { get { return this.txtTextBox.Text; } set { this.txtTextBox.Text = value; } } public string EventLabel { get { return this.lblLabel.Text; } set { this.lblLabel.Text = value; } } public event EventHandler<CustomEventArgs> CustomEventSubmit; protected void btnSubmit_Click(object sender, EventArgs e) { if (this.CustomEventSubmit != null) this.CustomEventSubmit(this, new CustomEventArgs("your text is:" + EventInputBox)); } } public class CustomEventArgs : EventArgs{ public string EventText { set; get; } public CustomEventArgs(string eventTextData) { EventText = eventTextData; /* Perform other event tasks. */ }}
Now I register the control in my Default.aspx page as bellow .
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <%@ Register src="InputControl.ascx" tagname="InputControl" tagprefix="uc1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title></head><body> <form id="form1" runat="server"> <div> <uc1:InputControl ID="icEventBox" runat="server" OnCustomEventSubmit="icEventBox_CustomEventSubmit" /> </div> </form></body></html>
In the file above we have to focus on OnCustomEventSubmit="icEventBox_CustomEventSubmit" which is pointing our custom event.
The code behind file Default.aspx.cs is as bellow.
using System; public partial class _Default : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { } protected void icEventBox_CustomEventSubmit(object sender, CustomEventArgs e) { icEventBox.EventLabel = e.EventText; }}
In the above article I didn’t go for much brief discussion , I think the code is sufficient to describe a custom event itself.
That’s all for the day.
BYE
This is a nice post for understanding event driven programming. But you can clarify more by giving easy example. It seems to me somewhat complex.
Visit this to get a good article
need more description.