using System;
using System.Drawing;
using System.Windows.Forms;
// custom delegate
public delegate void Startdelegate(); //we can pass any type of parameter ex StartDelegate(string x);
class Eventdemo : Form
{
// custom event
public event Startdelegate StartEvent;
public Eventdemo()
{
Button clickMe = new Button();
clickMe.Parent = this;
clickMe.Text = "Click Me";
clickMe.Location = new Point(
(ClientSize.Width - clickMe.Width) /2,
(ClientSize.Height - clickMe.Height)/2);
// an EventHandler delegate is assigned
// to the button's Click event
clickMe.Click += new EventHandler(OnClickedMe);
// our custom "Startdelegate" delegate is assigned
// to our custom "StartEvent" event.
StartEvent += new Startdelegate(OnStartEvent);
// fire our custom event
StartEvent(); // if pass the parameters while declaring then call like StartEvent("hello")
}
// this method is called when the "StartEvent" Event is fired
public void OnStartEvent()
{
MessageBox.Show("I Just Started!");
}
//this method is called when button is clicked
public void OnClickedMe(object delSender, EventArgs delE)
{
MessageBox.Show("You Clicked My Button!");
};
static void Main(string[] args)
{
Application.Run(new Eventdemo());
}
}Note: EventHandler is a builtin type delegate. We can write our own delegates to handle events.
No comments:
Post a Comment