View Full Version : غیر فعال کردن رویداد keydown یک textbox در زمان اجرا
yekta64
سه شنبه 30 شهریور 1389, 17:46 عصر
سلام دوستان
من در فرمم تعدادی تکس باکس دادم که در رویداد keydown نوشتم که یه مسیج چاپ بشه حالا اگه بخوام در رویداد کی دان این تکس باکس کد چاپ پیغام وجود داشته باشه ولی عمل نکنه یعنی با در زدن یه دمه مثلا اینتر در تک باکس پیغام چاپ نشه باید چکار کنم؟؟؟
لازم به ذکر می خوام کد در رویداد نوشته شده باشه ولی عمل نکنه به عبارت بهتر رویداد keydown در زمان اجرا غیر فعال بشه
مرسی
modirmasool
سه شنبه 30 شهریور 1389, 18:09 عصر
به این صورت که شما یه متغیر جنرال دارین و در روال keydown تون میاین شرط میذارین که اگه مثلا شرط برقرار بود کدها اجرا بشن.
if sth then
کدهاتون
end if
----------------------------------------------------------------------------------
راستی با دستور goto هم میتونین از روی کدهاتون بپرین!:لبخند:
salehbagheri
سه شنبه 30 شهریور 1389, 19:37 عصر
در رویداد KeyDown در ابتدای کدهای وارد شده توسط خودتون کد زیر رو وارد کنید:
Private Sub TxtInfo_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TxtInfo.KeyDown
e.Handled = False
'Your Code
End Sub
البته اگه قصد دارید که در طول برنامه رویداد KeyDown رو اجرا کنید بهتره یه متغیر ایجاد کنید و بر اساس اون عملیات رو انجام بدید:
Private IsKeyDownEventActive As Boolean = False
Private Sub TxtInfo_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TxtInfo.KeyDown
If IsKeyDownEventActive Then
'Your Code
Else
e.Handled = False
End If
End Sub
yekta64
چهارشنبه 31 شهریور 1389, 09:25 صبح
در رویداد KeyDown در ابتدای کدهای وارد شده توسط خودتون کد زیر رو وارد کنید:
Private Sub TxtInfo_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TxtInfo.KeyDown
e.Handled = False
'Your Code
End Sub
البته اگه قصد دارید که در طول برنامه رویداد KeyDown رو اجرا کنید بهتره یه متغیر ایجاد کنید و بر اساس اون عملیات رو انجام بدید:
Private IsKeyDownEventActive As Boolean = False
Private Sub TxtInfo_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TxtInfo.KeyDown
If IsKeyDownEventActive Then
'Your Code
Else
e.Handled = False
End If
End Sub
بی نهایت ممنون دست عزیز
راستش من خودم این کار رو انجام داده بودم منتها قصدم از زدن این تاپیک این بود که یه راه حل بهتر پیدا کنم
به هر حال ممنون
ali_najari
چهارشنبه 31 شهریور 1389, 11:06 صبح
اگه ميخوايد كامل غير فعال بشه و هيچ كليدي عمل نكنه فقط كافيه در رويداد Keydown عبارت زير رو بنويسيد
e.Handled = True
ولي اگه ميخوايد فقط چند كليد كار نكنه بايد شرط بزاري به صورت زير
If e.keycode<>keys.return Or e.keycode<>e.keys.f2 then
'شرطي كه بايد درصورتي كه كليدي غير از اين دو كليد زد شد اجرا بشه
End if
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.