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 to “Custom Event in .NET”

  1. 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

Leave a Reply