Hybrid
چهارشنبه 17 اسفند 1390, 13:29 عصر
با سلام خدمت دوستان عزیز امیدوارم حالتون خوب باشه .
در این آموزش میخوام نحوه ی پاسخ به واکنش هایی که توسط موس اتفاق میوفته رو بدم.
1 ) مکان موس
واسه اینکه بفهمین در حال حاظر موس در چه مکانی از صفحه نمایش وجود داره ، میتونین از خاصیت mousePosition استفاده کنین ، به وسیله ی این خاصیت میتونین مکان موس در روی صفحه رو به شکل نقطه ( Point ) پیدا کنین پس برای به دست آورن مقدار های x (طول ) و Y (عرض) شما باید کدی به شکل زیر بنویسین :
MessageBox.Show("X : " & MousePosition.X & " " & "Y :" & MousePosition.Y)
راه دیگش اینه که از Cursor.position استفاده کنین چیزی شبیه کد زیر :
MessageBox.Show("X : " & Cursor.Position.X & " " & "Y:" & Cursor.Position.Y)
تفاوتشون اینه که Cursor.position مثل MousePosition خاصیتی ReadOnly نیست این به این معنی هست که شما به وسیله ی این خاصیت میتونین موس رو به هر جایی که دوست داشتین ببرین ، کد زیر رو داخل رویداد Click یک دکمه قرار بدین و نتیجه رو مشاهده کنین :
Cursor.Position = New Point(200, 100)
2 ) فهمیدن اینکه کدام دکمه موس فشار داده شده :
وقتی که شما از رویداد MouseClick که در اکثر کنترل ها وجود داره استفاده میکنین روی قطعه کد زیر میتونیم بفهمیم که کاربر کدام دکمه موس رو فشار داده.کد زیر رو داخل رویداد MouseClick فرم بنویسین و نتیجه را مشاهده کنین :
MessageBox.Show(e.Button.ToString())
e.button یکی از نوع داده های شمارشی(enum) هست که تمام کلیدهای موس رو تحت پوشش قرار میده.کد زیر رو داخل رویداد MouseClick فرم قرار بدین و نتیجه رو مشاهده کنین :
Select Case (e.Button)
Case Windows.Forms.MouseButtons.Right
MessageBox.Show("شما کلیک راست کردین")
Case Windows.Forms.MouseButtons.Left
MessageBox.Show("شما کلیک چپ کردین")
Case Windows.Forms.MouseButtons.Middle
MessageBox.Show("شما کلیک وسط کردین")
Case Windows.Forms.MouseButtons.None
MessageBox.Show("شما هیچ دکمه ای رو فشار ندادین ! ")
Case Windows.Forms.MouseButtons.XButton1
MessageBox.Show("کلید اضافی شماره 1 فشار داده شد")
Case Windows.Forms.MouseButtons.XButton2
MessageBox.Show("دکمه اضافی شماره 2 فشار داده شد")
End Select
3 ) پیمایش موس ( Scrolling ) :
همینطور شما میتونین جهت چرخش و مقدار چرخش ، چرخنده موس رو به وسیله ی خاصیت e.delta از رویداد MouseWheel بفهمین :
Private Sub Form1_MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseWheel
MessageBox.Show(e.Delta.ToString())
End Sub
e.delta میگه که شما چه قدر چرخنده موس رو چرخش دادین ، این خصوصیت بستگی به تنظیمات مربوط به Mouse Wheel در Control Panel ویندوز داره برای همینه ممکنه مقدار چرخش در کامپیوتر من با مقدار چرخش در کامپیوتر شما با همدیگه متفاوت باشه.ولی خوبیش اینه که شما میتونین راحت جهت چرخش ، چرخنده موس رو به وسیله ی این خصوصیت بفهمین . کد زیر رو در رویداد MouseWheel مربوط به فرم امتحان کنین:
If e.Delta > 0 Then
MessageBox.Show("جهت بالا")
ElseIf e.Delta < 0 Then
MessageBox.Show("جهت پایین")
End If
دانلود به صورت PDF (http://thelife.persiangig.com/other/Mouse_Event.pdf)
مترجم و نویسنده : سیاوش ابراهیمی
منبع (http://forum.codecall.net/visual-basic-tutorials/22383-mouse-visual-basic-net.html#post274386)
موفق و سربلند باشین ( vbBoss ).
در این آموزش میخوام نحوه ی پاسخ به واکنش هایی که توسط موس اتفاق میوفته رو بدم.
1 ) مکان موس
واسه اینکه بفهمین در حال حاظر موس در چه مکانی از صفحه نمایش وجود داره ، میتونین از خاصیت mousePosition استفاده کنین ، به وسیله ی این خاصیت میتونین مکان موس در روی صفحه رو به شکل نقطه ( Point ) پیدا کنین پس برای به دست آورن مقدار های x (طول ) و Y (عرض) شما باید کدی به شکل زیر بنویسین :
MessageBox.Show("X : " & MousePosition.X & " " & "Y :" & MousePosition.Y)
راه دیگش اینه که از Cursor.position استفاده کنین چیزی شبیه کد زیر :
MessageBox.Show("X : " & Cursor.Position.X & " " & "Y:" & Cursor.Position.Y)
تفاوتشون اینه که Cursor.position مثل MousePosition خاصیتی ReadOnly نیست این به این معنی هست که شما به وسیله ی این خاصیت میتونین موس رو به هر جایی که دوست داشتین ببرین ، کد زیر رو داخل رویداد Click یک دکمه قرار بدین و نتیجه رو مشاهده کنین :
Cursor.Position = New Point(200, 100)
2 ) فهمیدن اینکه کدام دکمه موس فشار داده شده :
وقتی که شما از رویداد MouseClick که در اکثر کنترل ها وجود داره استفاده میکنین روی قطعه کد زیر میتونیم بفهمیم که کاربر کدام دکمه موس رو فشار داده.کد زیر رو داخل رویداد MouseClick فرم بنویسین و نتیجه را مشاهده کنین :
MessageBox.Show(e.Button.ToString())
e.button یکی از نوع داده های شمارشی(enum) هست که تمام کلیدهای موس رو تحت پوشش قرار میده.کد زیر رو داخل رویداد MouseClick فرم قرار بدین و نتیجه رو مشاهده کنین :
Select Case (e.Button)
Case Windows.Forms.MouseButtons.Right
MessageBox.Show("شما کلیک راست کردین")
Case Windows.Forms.MouseButtons.Left
MessageBox.Show("شما کلیک چپ کردین")
Case Windows.Forms.MouseButtons.Middle
MessageBox.Show("شما کلیک وسط کردین")
Case Windows.Forms.MouseButtons.None
MessageBox.Show("شما هیچ دکمه ای رو فشار ندادین ! ")
Case Windows.Forms.MouseButtons.XButton1
MessageBox.Show("کلید اضافی شماره 1 فشار داده شد")
Case Windows.Forms.MouseButtons.XButton2
MessageBox.Show("دکمه اضافی شماره 2 فشار داده شد")
End Select
3 ) پیمایش موس ( Scrolling ) :
همینطور شما میتونین جهت چرخش و مقدار چرخش ، چرخنده موس رو به وسیله ی خاصیت e.delta از رویداد MouseWheel بفهمین :
Private Sub Form1_MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseWheel
MessageBox.Show(e.Delta.ToString())
End Sub
e.delta میگه که شما چه قدر چرخنده موس رو چرخش دادین ، این خصوصیت بستگی به تنظیمات مربوط به Mouse Wheel در Control Panel ویندوز داره برای همینه ممکنه مقدار چرخش در کامپیوتر من با مقدار چرخش در کامپیوتر شما با همدیگه متفاوت باشه.ولی خوبیش اینه که شما میتونین راحت جهت چرخش ، چرخنده موس رو به وسیله ی این خصوصیت بفهمین . کد زیر رو در رویداد MouseWheel مربوط به فرم امتحان کنین:
If e.Delta > 0 Then
MessageBox.Show("جهت بالا")
ElseIf e.Delta < 0 Then
MessageBox.Show("جهت پایین")
End If
دانلود به صورت PDF (http://thelife.persiangig.com/other/Mouse_Event.pdf)
مترجم و نویسنده : سیاوش ابراهیمی
منبع (http://forum.codecall.net/visual-basic-tutorials/22383-mouse-visual-basic-net.html#post274386)
موفق و سربلند باشین ( vbBoss ).