ভিজ্যুয়াল বেসিক ২০০৫ প্রোগ্রামিং এই পর্বে ভিবি ডট নেটে প্রোগ্রামারের ইচ্ছেমতো তৈরি কন্ট্রোল বা ইউজার কন্ট্রোল নিয়ে আলোচনা করা হয়েছে৷ সাধারণত আমরা বামদিকের টুলবক্স থেকে যেসব কন্ট্রোল উইন্ডোজ ফরমে ব্যবহার করি, সেগুলো ভিজ্যুয়াল স্টুডিও ২০০৫ IDE-তে ব্যবহৃত সিস্টেম কন্ট্রোল যেমন- টেক্সটবক্স, লেবেল ইত্যাদি৷ প্রোগ্রামিংয়ের কাজের সুবিধার জন্য প্রোগ্রামার নিজের পছন্দমতো কন্ট্রোল তৈরি করে নিতে পারেন এবং তা সহজেই ফরমে ব্যবহার করতে পারেন৷ এই কন্ট্রোলগুলোই ইউজার ডিফাইন্ড কন্ট্রোল বা ইউজার কন্ট্রোল নামে পরিচিত৷
ইউজার কন্ট্রোল তৈরি করা
ইউজার কন্ট্রোল তৈরি করার জন্য আমাদের একটি নতুন প্রজেক্ট তৈরি করতে হবে৷ ভিজ্যুয়াল স্টুডিও IDE-এর File -> New Project অপশন সিলেক্ট করলে প্রজেক্ট টাইপ সিলেকশনের ডায়ালগ বক্স আসবে৷ সেখান থেকে Windows Application সিলেক্ট কনে প্রজেক্টের নাম ও ফাইলগুলো সংরক্ষণের লোকেশন ঠিক করে OK বাটনে ক্লিক করলেই নতুন প্রজেক্টটি তৈরি হবে৷ ইউজার কন্ট্রোল আসলে ভিবি ডট নেটের একটি Class৷ এই প্রক্টে ইউজার কন্ট্রোল যোগ করার জন্য IDE-এর Projcet মেনু থেকে Add User Control অপশন সিলেক্ট কলে হবে৷ এবার দেখানো ডায়ালগ বক্সের নামের স্থানে Add User Control-এর একটি নাম দিয়ে Add বাটনে ক্লিক করলেই User Control তৈরি করার স্ক্রিন দেখা যাবে এবং কন্ট্রোলটি প্রজেক্টে যোগ হয়ে যাবে৷
এবার কন্ট্রোল ডিজাইনের পালা৷ এখানে উদাহরণস্বরূপ যে ইউজার কন্ট্রোলটি তৈরি করা হবে, সেটি একটি সাধারণ ক্যালকুলেটর৷ নিচের ছবিতে ডিজাইন উইন্ডোতে ইউজার কন্ট্রোলটি দেখা যাচ্ছে৷
এরপর কোড উইন্ডোতে প্রয়োজনীয় কোড লিখতে হবে৷ এখন ফরমে ইউজার কন্ট্রোলটি ব্যবহার করার জন্য প্রথমেই প্রজেক্টটিকে কম্পাইল করে নিতে হবে৷ কম্পাইল করার পর বামদিকের টুলবক্স উইন্ডোতে ইউজার কন্ট্রোলটি দেখা যাবে৷
এখন এখান থেকে ফরমের ডিজাইন উইন্ডোতে কন্ট্রোলটি ড্র্যাগ-ড্রপ করে ব্যবহার করা যাবে৷
কন্ট্রোলটির কোড
CalcPad কট্রোলে ১৮টি (Button) বাটন এবং ১টি টেক্সটবক্স ব্যবহার করা হয়েছে৷ নম্বর বাটনগুলোর নাম যথাক্রমে Key0, Key1... Key9 এবং এদের টেক্সট প্রপার্টিতে নম্বরগুলো লিখতে হবে৷ টেক্সটবক্স কন্ট্রোলটির প্রপার্টিতে নিচের পরিবর্তনগুলো প্রয়োগ করতে হবে৷ New Calcpad Display
Text0
Text Align Right
বিশেষ চিহ্নগুলোর যেমন : যোগ, বিয়োগ ইত্যাদি কন্ট্রোলগুলোর নাম Keydecimal, opPlus, opMinus, opMut, opDivide, যা যথাক্রমে দশমিক বিন্দু, যোগ, বিয়োগ, গুণ ও ভাগের জন্য ব্যবহার করা হয়েছে৷ এরপর ইউজার কন্ট্রোলটির কোড উইন্ডোতে নিচের কোডগুলো লিখতে হবে৷ Public Class CalcPad Inherits System.Windows.Forms.UserControl Private State As Int16 = 0 Private CurrentOp As String Private PrevOp As String = "Null" Private Num1 As Double Private Num2 As Double Private Result As Double Private Sub op_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles opplus.Click, _ opminus.Click, opmult.Click, opdivide.Click Select Case State Case 0, 1 Num1 = CDbl(CalcPadDisplay.Text) restore State State = 2 Case 2 Case 3 opequals_Click(sender, e) Num1 = CDbl(CalcPadDisplay.Text) restore State State = 2 Case Else MessageBox.Show("invalid state") End Select CurrentOp = sender.tag End Sub Private Sub opequals_Click( _ ByVal sender As Object, _ ByVal e As System.EventArgs) _ Handles opequals.Click Try Num2 = CDbl(CalcPadDisplay.Text) Select Case CurrentOp Case "Divide" If Num1 <> 0 Then Result = Num1 / Num2 Else CalcPadDisplay.Text = _ "Divide By Zero" Exit Sub End If Case "Multiply" Result = Num1 * Num2 Case "Add" Result = Num1 + Num2 Case "Subtract" Result = Num1 - Num2 Case "Equal" Restore Operation Code and Recurse CurrentOp = PrevOp Num2 = Num1 opequals_Click(sender, e) End Select Clear Display Before Next Keypad Entry CalcPadDisplay.Text = CStr(Result) Save operation code for repeated equal key If CurrentOp <> "Equal" Then PrevOp = CurrentOp End If State = 0 CurrentOp = sender.tag Catch CalcPadDisplay.Text = "Error" Exit Sub End Try End Sub Private Sub keyClick( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles key1.Click, key2.Click, key3.Click, _ key4.Click, key5.Click, key6.Click, _ key7.Click, key8.Click, key9.Click, _ key0.Click, keydecimal.Click If State = 0 Or State = 2 Then CalcPadDisplay.Text = "" State += 1 End If CalcPadDisplay.Text &= sender.tag End Sub Private Sub opclear_Click( _ ByVal sender As Object, _ ByVal e As System.EventArgs) _ Handles opclear.Click, opclearentry.Click CalcPadDisplay.Text = "" If sender.tag = "ClearEntry" Then State = 0 End Sub End Class
এবার প্রজেক্টটিকে কম্পাইল করতে হবে৷ কম্পাইল করার পর টুলবক্সের মধ্য থেকে ইউজার কন্ট্রোলটি অন্যান্য কন্ট্রোল যোগ করার মতো করে ফরমে যোগ করা যাবে৷
এখন ফরমটি Save কনে প্রজেক্টটি রান করানো হলে ইউজার কন্ট্রোল সংযুক্ত ফরমটি দেখা যাবে এবং ইউজার কন্ট্রোলের মাধ্যমে সাধারণ হিসাবের কাজ করা যাবে৷
ফিডব্যাক : marufn@gmail.com