چطور میشه از وضعیت یک دکمه در vb با خبر شد؟!!

comtec666

New Member
:tavajoh:سلام دوستان من میخام با vb چنین کاری کنم

یه برنامه بنویسم با 2 تا دکمه A و B که زمانیکه A فشار داده می شود وارد یک حلقه ی بی نهایت شود و تا زمانیکه A

فشرده شده در حلقه بماند اما به محض رها شدن دکمه از حلقه خارج شود واسه B هم همینطور

به بیان دیگه:


Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnstop.Click

while (sahartttttttttt?????? )a
ye kari inja bokon ta zamike dome feshirde shode
end while

جای شرط باید چی باشه؟؟؟ لطفا کمک کنید...
 

the_king

مدیرکل انجمن
:tavajoh:سلام دوستان من میخام با vb چنین کاری کنم

یه برنامه بنویسم با 2 تا دکمه A و B که زمانیکه A فشار داده می شود وارد یک حلقه ی بی نهایت شود و تا زمانیکه A

فشرده شده در حلقه بماند اما به محض رها شدن دکمه از حلقه خارج شود واسه B هم همینطور

به بیان دیگه:


Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnstop.Click

while (sahartttttttttt?????? )a
ye kari inja bokon ta zamike dome feshirde shode
end while

جای شرط باید چی باشه؟؟؟ لطفا کمک کنید...

بهتره که برای کد داخل حلقه از تایمر استفاده کنید چون برنامه های معمولی ویژوال بیسیک Single Threaded
اجرا می شوند و اگه یک کدی همواره در حال اجرا باشه مجالی برای اجرا شدن کد رویداد دیگه ای نمیده.
دو تا دکمه با نام های Command1 و Command2 و دو تا تایمر با نام های Timer1 و Timer2 را روی فرم قرار دهید.
کد های زیر رو هم به فرم اضافه کرده و برنامه رو اجرا کنید :

کد:
Option Explicit

Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Timer1.Enabled = True
End Sub

Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Timer1.Enabled = False
End Sub

Private Sub Command2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Timer2.Enabled = True
End Sub

Private Sub Command2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Timer2.Enabled = False
End Sub

Private Sub Form_Load()
    Timer1.Enabled = False
    Timer1.Interval = 1
    Timer2.Enabled = False
    Timer2.Interval = 1
End Sub

Private Sub Timer1_Timer()
[B][COLOR="Blue"]    Static i As Long
    i = i + 1
    Command1.Caption = i[/COLOR][/B]
End Sub

Private Sub Timer2_Timer()
[B][COLOR="Blue"]    Static j As Long
    j = j + 1
    Command2.Caption = j[/COLOR][/B]
End Sub

فرض رو بر این بگیرید که Timer1_Timer و Timer2_Timer داخل حلقه While شما هستند و هر چه داخلشان
بنویسید بصورت یک حلقه اجرا می شوند. اگر خواستید قبل از اجرا شدن حلقه کد دیگری بیرون از حلقه اجرا شود
کدش را داخل Command1_MouseDown و Command2_MouseDown بنویسید.
 

جدیدترین ارسال ها

بالا