আমাদের আজকের আলোচনার বিষয় ফর্ম মাউস ও ফর্ম কীবোর্ড ইভেন্টস – যা অধ্যায় ৬ ”ভিজ্যুয়াল বেসিক ফর্ম ডিজাইন” এর অন্তর্ভুক্ত। বর্তমান বিশ্বের সর্বাধুনিক প্রযুক্তি হচ্ছে কম্পিউটার প্রযুক্তি। কারণ শিল্পকারখানা, গবেষণা, শিক্ষাপ্রতিষ্ঠান, চিকিৎসাশাস্ত্র ইত্যাদি সকল ক্ষেত্রই আজ কম্পিউটার অটোমেটেড। কম্পিউটার অটোমেশনের সঙ্গে কম্পিউটার প্রোগ্রামিং ও প্রোগ্রামিং লেখার জন্য প্রোগ্রামিং ল্যাংগুয়েজ অত্যন্ত গুরুত্বপূর্ণ।
তাই শিক্ষা ও গবেষণার জন্য প্রোগ্রামিং ল্যাংগুয়েজ অধ্যয়ন একটি অতি আবশ্যকীয় বিষয়। বিষয়টি অত্যন্ত গুরুত্বসহ বিবেচনা করে বর্তমানে কারিগরি শিক্ষার সকল টেকনোলজিতে কম্পিউটার প্রোগ্রামিং ল্যাংগুয়েজ বিষয়কে আবশ্যিক করা হয়েছে ।

Table of Contents
ফর্ম মাউস ও ফর্ম কীবোর্ড ইভেন্টস
ফর্ম মাউস ইভেন্ট
যখন কোন কোন User mouse move করেন কিংবা কোন mouse button press করেন তখন যে সকল events সংঘটিত হয় তাই Form Mouse Events. Visual Basic Application সকল Form Mouse Events সংঘটিত হয় তাদের বর্ণনা নিয়ে দেয়া হল।
Click Event :
কোন অবজেক্ট বা কন্ট্রোলে মাউস দিয়ে ক্লিক করলে কিংবা কোডিং-এর মাধ্যমে কন্ট্রোলের Value প্রপার্টির মান পরিবর্ত করলে সংশ্লিষ্ট কন্ট্রোলের এই ইভেন্ট সংঘটিত হয়। তাছাড়া,
- CheckBox, CommandButton, Listbox অথবা OptionButton এর ক্ষেত্রে মাউসের left বাটন ক্লিক করলে এই ইভেন্ট সংঘটিত হয়।
- ComboBox অথবা ListBox এর কোন আইটেম কার্সারের মাধ্যমে কিংবা মাউস দিয়ে সিলেক্ট করলেও এই ইভেন সংঘটিত হয়।
- CommandButton, OptionButton অথবা CheckBox সিলেক্ট থাকা অবস্থায় SPACEBAR ব্যবহার করছে কন্ট্রোলের এই ইভেন্ট সংঘটিত হয়।
- তবে মাউস দিয়ে ক্লিক না করে কোডিং এর মাধ্যমে কোন কন্ট্রোলের ক্লিক ইভেন্ট ঘটাতে হলে,
- CommandButton এর Value প্রপার্টি True সেট করতে হবে।
- OptionButton এর Value প্রপার্টি True সেট করতে হবে।
- CheckBox এর Value প্রপার্টি পরিবর্তন করতে হবে।
গঠন (Syntax) : Click Event এর সিনট্যাক্স নিম্নরূপঃ
Private Sub Click () ‘Form এর জন্য
Private Sub object_Click (index As Integer)) ‘অন্যান্য কন্ট্রোলের জন্য
DbClick Event 1
কোন অবজেক্ট-এ মাউস দিয়ে ডবল ক্লিক করলে অবজেক্ট-এর এই ইভেন্ট সংঘটিত হয়।
গঠন (Syntax) : Dbclick ইভেন্টের সিনট্যাক্স নিম্নরূপঃ
Private Sub Form_DblClick()
Private Sub object_DbIClick (index As Integer)
কোন অবজেক্ট-এর Click ইভেন্ট-এর জন্য কোড লেখা হলে, সেই অবজেক্ট-এর DblClick ইভেন্ট কাজ করবে না।
MouseDown, MouseUp Event :
মাউস দিয়ে ক্লিক করার সময় যখন কোন বাটন প্রেস করা হয় তখন MouseDown এবং প্রেস করা বাটনটা ছেড়ে দিলে MouseUp ইভেন্ট সংঘটিত হয়।
গঠন (Syntax) : MouseDown, Mouseup ইভেন্টের সিনট্যাক্স নিম্নরূপঃ
Private Sub Form, MouseDown (button As Integer, shift As Integer, x As Single, y As single)
Private Sub MDIForm, MouseDown (button As integer, shift As Integer, x As Single, y As Single)
Private Sub object, MouseDown ([index As inter, button As Integer, Shift As Inter, x As Single, y As Single)
Private Sub Form MouseUp (button As inter, shift As Integer, x As Single, y As Single)
Private Sub Form-MouseUp (button As Inter, shift As Integer, x As Single, y As Single)
Private Sub MDIForm_MouseUp (button As Integer, shift As Integer, x As Single, y As Single)
Private Sub object MouseUp([index As Integer.] button As Integer, shift As Integer, x As Single, y As Single!
এখানে কোন আরগুমেন্ট কেন ব্যবহার করা হয় তা নিচে দেখানো হল-
Index: কোন কন্ট্রোল অ্যারের যে element-এ মাউস ক্লিক করা হয়েছে, তার index এই আরগুমেন্ট-এর মাধ্যমে জানা যায়।
button: এই আরগুমেন্ট একটা পূর্ণ সংখ্যা প্রদান করে যা দ্বারা মাউসের কোন বাটন পেস করা হয়েছে, (MouseDown) কিংবা কোন প্রেস করা বাটনটা ছাড়া হয়েছে (MouseUp), তা জানা যায়। যদি মাউসের বামদিকের, ডানদিকের কিংবা মধ্যখানে বাটন প্রেস করা হয় তাহলে এই আরগুমেন্ট যথাক্রমে 1, 2 কিংবা 4 রিটার্ন করে।
shift: SHIFT, CTRL কিংবা ALT কী প্রেস করা হয়েছে কি-না তা জানার জন্য এই আরগুমেন্ট ব্যবহার করা হয়। এখানে Shift, Ctrl কিংবা Alt প্রেস করা হলে এই আরগুমেন্ট এর মান হবে যথাক্রমে 1, 2, 4 যদি একের অধিক কী এক সাথে প্রেস করা এয়, তাহলে এই আরগুমেন্ট-এর জন্য তাদের যোগফল নির্ধারিত হবে। যেমন, Shift এবং Alt এক সাথে প্রেস করা হলে এই তারগুমেন্ট-এর মান হবে 1 + 4 = 5.
x. y : মাউস পয়েন্টারের স্থানাংক জানার জন্য এই আরগুমেন্টদ্বয় ব্যবহার করা যায়। তবে এক্ষেত্রে ScaleHeight, ScaleWidth, Scale Left এবং ScaleTop প্রপার্টির মাধ্যমে নির্ধারিত Coordinate system অনুযায়ী x এবং y এর মান নির্ধারণ করা হয়।
MouseMove Event :
মাউস পয়েন্টার একস্থান থেকে অন্যস্থানে নিলে তথা পয়েন্টারটি নাড়ানো হলে এই ইভেন্ট সংঘটিত হয়।
গঠন (Syntax) : MouseMove ইভেন্টের সিনট্যাক্স নিম্নরূপঃ
Private Sub Form_MouseMove(button As Integer, shift As Integer, x As Single, y As Single) Private Sub MDIForm_MouseMove(button As Integer, shtift As
Integer, x As Single, y
As Single) Private Sub object MouseMove([index As Integer, button As Integer, shift As Integer, x As Single, y
As Single) MouseMove Event এর argument গুলো (index, button, shift, x, y ‘ইত্যাদি) Mouse Up, Mouse Down Event এর মতই কাজ করে।
ফর্ম কীবোর্ড ইভেন্ট
যখন User Keyboard থেকে কোন Key Press করেন তখন যে সকল events সংঘটিত হয় তাই Form Keyboard Events. Visual Basic এ নিম্নবর্ণিত Form Keyboard Events সংঘটিত হয়। যথাঃ
KeyDown, KeyUp Event :
ব্যবহারকারী যখন কী-বোর্ড-এর কোন কী প্রেস করে তখন KeyDown ইডেন্ট এবং প্রেস করা কী ছেড়ে দিলে KeyUp ইভেন্ট সংঘটিত হয়।
গঠন (Syntax) : KeyDown, Keyup ইভেন্টের সিনট্যাক্স নিম্নরূপঃ
Private Sub Form_KeyDown(keycode As Integer, shift As Integer)
Private Sub object_KeyDown([index As Integer,] keycode As Integer shift As Integer)
Private Sub Form_KeyUp (keycode As Integer, shift As Integer)
Private Sub object_KeyUp ([index As Integer,] keycode As Integer shift As Integer)
Key Press Event :
কোন কন্ট্রোলে কোন ANSI key প্রেস করা হলে এই ইভেন্ট সংঘটিত হয়।

গঠন (Syntax) :
Private Sub Form_KeyPress (keyascii As Integer)
Private Sub object_KeyPress ([index As Integer,] keyascii As Integer)