সি# এ ইভেন্ট হ্যান্ডলিং একটি গুরুত্বপূর্ণ কনসেপ্ট, যা ইন্টারঅ্যাকটিভ প্রোগ্রাম তৈরি করতে ব্যবহৃত হয়। ইভেন্ট হ্যান্ডলিং এমন একটি প্রক্রিয়া, যেখানে নির্দিষ্ট কোনো ঘটনার (Event) প্রতিক্রিয়া জানাতে কোড লেখা হয়। উদাহরণস্বরূপ, একটি বাটন ক্লিক হলে, একটি টেক্সটবক্সে লেখা হলে, বা একটি মাউস মুভ হলে ইভেন্ট হ্যান্ডলিং করা হয়।
সি# এ ইভেন্ট হ্যান্ডলিং এর প্রধান উপাদানগুলো হলো:
ইভেন্ট সাবস্ক্রাইব করতে ডেলিগেট ব্যবহার করা হয় এবং এক্ষেত্রে EventHandler ডেলিগেটটি সবচেয়ে বেশি ব্যবহৃত হয়।
নিচে একটি বাটন ক্লিক ইভেন্ট হ্যান্ডলিং এর উদাহরণ দেওয়া হলো।
১. Visual Studio তে একটি Windows Forms App প্রজেক্ট তৈরি করুন। ২. ফর্মে একটি Button এবং একটি Label যোগ করুন। ৩. Button এর Text
প্রপার্টি "Click Me!" দিন এবং Label এর Text
প্রপার্টি ফাঁকা রাখুন।
Button এ ডাবল ক্লিক করলে একটি ইভেন্ট হ্যান্ডলার তৈরি হবে, যা বাটন ক্লিক করার সময় ট্রিগার হবে।
private void button1_Click(object sender, EventArgs e)
{
label1.Text = "Button was clicked!";
}
button1_Click
হলো ইভেন্ট হ্যান্ডলার, যা তখনই ট্রিগার হবে যখন button1
ক্লিক করা হবে।label1.Text = "Button was clicked!";
এর মাধ্যমে লেবেল এ "Button was clicked!" মেসেজ প্রদর্শন করা হয়েছে।ইভেন্ট হ্যান্ডলিংয়ের জন্য সাধারণ কাঠামো হলো:
private void <Event_Handler_Name>(object sender, EventArgs e)
{
// ইভেন্ট হ্যান্ডল করার কোড
}
সি# এ নিজস্ব ইভেন্ট বা কাস্টম ইভেন্টও তৈরি করা যায়, যেখানে আপনি নিজের নির্দিষ্ট ইভেন্ট ডেফাইন করতে পারেন।
using System;
public class Publisher
{
// ডেলিগেট ডিক্লেয়ার করা
public delegate void MyEventHandler(object sender, EventArgs e);
// ইভেন্ট ডিক্লেয়ার করা
public event MyEventHandler MyEvent;
public void RaiseEvent()
{
if (MyEvent != null)
{
MyEvent(this, EventArgs.Empty);
}
}
}
public class Subscriber
{
public void OnEventOccurred(object sender, EventArgs e)
{
Console.WriteLine("Event occurred!");
}
}
public class Program
{
public static void Main()
{
Publisher pub = new Publisher();
Subscriber sub = new Subscriber();
// ইভেন্ট সাবস্ক্রাইব করা
pub.MyEvent += sub.OnEventOccurred;
// ইভেন্ট রেইজ করা
pub.RaiseEvent();
}
}
pub.MyEvent += sub.OnEventOccurred;
এর মাধ্যমে ইভেন্ট সাবস্ক্রাইব করা হয়েছে, অর্থাৎ OnEventOccurred
মেথডটি ইভেন্ট হ্যান্ডলার হিসেবে কাজ করবে।pub.RaiseEvent();
দ্বারা ইভেন্ট রেইজ করা হয়েছে এবং আউটপুটে "Event occurred!"
প্রদর্শিত হবে।সি# এ কিছু সাধারণ ইভেন্ট রয়েছে, যা প্রায়শই ব্যবহার করা হয়:
এই উদাহরণে আমরা একটি TextBox এবং একটি Label ব্যবহার করব। যখন TextBox এ কিছু লেখা হবে, তখনই Label এ সেই লেখা প্রদর্শিত হবে।
১. উইন্ডোজ ফর্মে একটি TextBox এবং একটি Label যোগ করুন। ২. Label এর Text
প্রপার্টি ফাঁকা রাখুন।
TextBox এ ডাবল ক্লিক করলে এর TextChanged ইভেন্ট তৈরি হবে এবং সেখানে নিচের কোডটি লিখুন:
private void textBox1_TextChanged(object sender, EventArgs e)
{
label1.Text = textBox1.Text;
}
textBox1_TextChanged
ইভেন্ট হ্যান্ডলারটি TextBox এর প্রতিটি পরিবর্তনের সাথে সাথে ট্রিগার হবে।সি# এ ইভেন্ট হ্যান্ডলিং এর মাধ্যমে ইন্টারঅ্যাকটিভ প্রোগ্রাম তৈরি করা সহজ হয়, যেখানে ব্যবহারকারীর অ্যাকশনের উপর ভিত্তি করে ইভেন্ট হ্যান্ডলার কাজ করে।
আরও দেখুন...