সকলকে শুভেচ্ছা জানিয়ে শুরু করছি আজকের পর্ব। এ পর্বে আমি যে বিষয়টি নিয়ে আলোচনা করব, তা হল কিভাবে এক ফর্ম থেকে ডাটা অন্য ফর্মে পাঠাবেন। এটি অত্যন্ত গুরুত্বপূর্ণ একটি বিষয়, যা আমাদের জানা উচিত। একটু পরিষ্কার করে উদাহরন হিসেবে বলি- ধরুন আপনার একটি এপ্লিকেশন এ একটি ফর্ম থেকে ব্যবহারকারীর নাম ও বয়স ইনপুট নিবে এবং এটি অন্য একটি ফর্মে তা দেখাবে।
১। ফর্ম কন্সট্রাক্টর (Constructor) ব্যবহার করে
২। এঙ্ক্যাপ্সুলেশন এর মাধ্যমে
এই পর্বে শুধু প্রথম টি নিয়ে আলোচনা করব। দ্বিতীয়টি পরবর্তি পর্বে দেখাব।
নিচের ধাপগুলি অনুসরন করুনঃ
১। প্রথমে একটি প্রজেক্ট তৈরী করুন। পূর্বের টিউন অনুসারে। প্রজেক্টের নাম দিন ইচ্ছে মত।
২। এখন প্রথম যে ফর্মটি থাকবে (Form1), সেখানে দুই্টি টেক্সট বক্স ও একটি বাটন নিন।
এই প্রথম ফর্ম থেকে আমরা ভ্যালু পরবর্তি ফর্মে নিয়ে যাব।
৩। এবার দ্বিতীয় ফর্ম তৈরী করতে হবে। এজন্য ডান পাশে Solution Explorer (যদি দেখা না যায়, তাহলে View>Solution Explorer click করুন) থেকে আপনার প্রজেক্টের নাম এর উপর রাইট ক্লিক করুন। একটি মেনু পাবেন, সেখান থেকে Add>>Windows Form click করুন।
এখন যে ডায়ালগ বক্স পাবেন, সেখান থেকে Windows Form সেলেক্ট করুন, পছন্দ মত নাম দিয়ে Add ক্লিক করুন।
৪। দ্বিতীয় ফর্মটি তৈরী হয়ে গিয়েছে। এখানে চারটি লেবেল (Label) ও একটি বাটন (Button) নিন।
৫। এই ফর্মের যে কোন খালি জায়গায় রাইট ক্লিক করে মেনু থেকে View Code ক্লিক করুন। নতুন কোড Window দেখা যাবে। সেখানে আপনার ফর্মের নামে ইতোমধ্যে একটি Constructor তৈরী হয়েছে। এখন আমরা আরেকটি নতুন কন্সট্রাক্টর তৈরী করব (এটাকে Constructor Overloading বলা হয়)।
String name, age;
public frmNextForm()
{
InitializeComponent();
}
public frmNextForm(String Name_from_previous_form, String Age_from_previous_form)
{
this.name = Name_from_previous_form;
this.age = Age_from_previous_form;
InitializeComponent();
}
এখানে নতুন কন্সট্রাক্টরের মাধ্যমে আমরা পূর্বের ফর্ম থেকে যে ডাটা প্যারামিটার হিসেবে দেয়া হয়েছে তা নতুন ভ্যারিয়েবেলে কপি করে নেয়া হল।
৬। ফর্ম লোড ইভেন্টে লিখুনঃ
private void frmNextForm_Load(object sender, EventArgs e)
{
lblName.Text = name;
lblAge.Text = age;
}
OK button এর ক্লিক ইভেন্টে নিচের মত কোড লিখুনঃ
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("You have viewed your Name and Age given as input on another form", "Info",MessageBoxButtons.OK, MessageBoxIcon.Information);
Application.Exit();
}
এই বাটনের কাজ খুব সামান্য। শুধু একটি মেসেজ বক্স দেখানোর পরে প্রোগাম বন্ধ করা। এখানে ফর্ম লোড ইভেন্টে ভ্যারিয়েবেল থেকে ডাটা নিয়ে তা লেবেল এ দেখানো হয়েছে।
আজকে এ পর্যন্ত। সবাইকে ঈদের শুভেচ্ছা। ঈদ মোবারক।
আমি জ্যোতি। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 13 বছর 11 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 17 টি টিউন ও 98 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 2 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।
আমি জ্যোতি চৌধুরী। কম্পিউটার সাইন্স এন্ড ইঞ্জিনিয়ারিং এর ছাত্র। মিলিটারি ইন্সটিটিউট অফ সাইন্স এন্ড টেকনোলজি, মিরপুর ক্যান্টনমেন্ট এ পড়াশোনা করছি। ভাল লাগে বন্ধুদের সাথে আড্ডা দিতে, কম্পিউটার প্রযুক্তি সম্পর্কে জানতে। আগ্রহ আছে সফটওয়্যার ডেভেলপমেন্ট, প্রোগ্রামিং ও ওয়েব ডেভেলপমেন্টের প্রতি। স্বপ্ন দেখতে ভালবাসি। স্বপ্ন কে বাস্তবে রুপায়ন করতে পছন্দ করি।
oneek din por!!! eid mubarak!!! ar please beshi beshi likhben… Ami techtunes er keu hole apnake lekhar jonno parisromik ditam, jate beshi beshi lekhen!!! 😀
Best of luck & eid mubarak!!!