Custom Event in .NET

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

User ScrumPad for your Agile based projects.

2 Responses

  1. Sadique says:

    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

  2. Anonymous says:

    need more description.

Leave a Reply

Page 1 of 1712345NextLast »