رویداد ها در ویژوال بیسیک
براي هر عملي که ميخواهيم کاربر در برنامه ما انجام دهد مي بايست در هر رويداد کد خاصي را بنويسيم تا نسبت به رفتار خاصي پاسخگو باشيم اين رويدادها تعيين ميکنند که برنامه ما نسبت به چه اعمالي حساس باشد کليک کردن يا فشردن دکمه اي خاص.
عمل کليک : تو مثالهاي قبلي وقتي رو Command1 کليک ميکرديم يه عملي انجام ميشد چون ما تو رويداد کليک Command1 اون کدمون رو نوشتيم حالا اگه بخواهيم رويدادهاي ديگه اي هم هستن مثلا KeyDown ويا MouseMove و ... همه اينها بسته به نوعشون در مقابل رفتار کاربر عمل بخصوصي رو انجام ميدن حالا چند تا کد مينويسيم که با رويدادهاي مختلف آشنا بشيم :
MouseMove:زماني که ماوس رو باتن حرکت کنه Caption باتن عوض ميشه.
Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Command1.Caption = "Mosee Move !"End Sub
MouseDown: اگر دکمه فشار داده شود (هنوز دستمان روي دکمه ماوس است دکمه بالا نيامده)
Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Command1.Caption = "Mosee Down !"End Sub
MouseUp : دکمه ماوس فشار داده شده و به سمت بالا رها مي شود بعد از عمل MouseDown
Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Command1.Caption = "Mosee Up !"End Sub
رويدادهاي KeyDown وKeyPress وKeyUp هم مثل همين ها هستند تنها تفاوت چون نياز به يک دستور شرطي دارند(با يک دستور شرطي مشخص ميکنيم اگر کليد فشرده شده مثلا Ctrl بود چه عملي انجام شود) بعدا که دستورات شرطي رسيديم ميگم .DragDrop و DragOver هم همچنين.+
ولي حالا ميخواهيم يه برنامه ساده بنويسيم که از کنترل Label استفاده مي شه . يه کنترل ليبل از سمت چپ انتخاب کنين و بندازين تو صفحه فرمتون ! برنامه ما اين کار رو ميکنه -[وقتي ماوس رو ليیل ميره رنگ اون عوض ميشه و Bold هم ميشه مثل همين لينک ها و وقتي هم ماوس رو از روش برمي داريم به حالت اول بر ميگرده ]- خب اول براي رويداد MouseMove اينها رو مينويسيم:
Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Label1.ForeColor = &HFF& Label1.FontBold = TrueEnd Sub
و در رويداد Form_MouseMove هم اينها رو مينويسيم(همين ها رو کپي و پيست کنين)
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Label1.ForeColor = &H80000007 Label1.FontBold = FalseEnd Sub
حالا برنامه رو اجرا کنين ماوس رو روي ليبل بذارين و از روش بردارين