PDA

View Full Version : سوال: فراخوانی یک رویداد



mohsenm66
پنج شنبه 15 دی 1390, 18:17 عصر
من میخواهم هنگام خروج از یک textbox رویدادی که در هنگام keypress آن نوشته شده است فراخوانی شود .
کد زیر را نوشته ام ولی خطا می دهد .
call textbox1_keypress
حالا نمیدانم باید چیکار کنم ....:خجالت:

Hybrid
پنج شنبه 15 دی 1390, 20:00 عصر
سلام ،

فکر نمیکنم همچین کاری امکان پذیر باشه چون رویداد keypress وقتی اتفاق میوفته که یه کلید فشار داده میشه ولی رویداد LostFocus وقتی اتفاق میوفته Focus از روی کنترل برداشته میشه و اینا ربطی به همدیگه ندارن...دوستان اگه اشتباه میکنم لطفا خبر بدین.با تشکر.

موفق باشید./

b.saminjad
پنج شنبه 15 دی 1390, 20:20 عصر
سلام
بله میشه فرض کنید دو دکمه رو فرم داشته باشین به این شکل رویداد دکمه اول فراخونی میشه


Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Button1_Click(Me, EventArgs.Empty)

End Sub

Hybrid
پنج شنبه 15 دی 1390, 20:23 عصر
سلام
بله میشه فرض کنید دو دکمه رو فرم داشته باشین به این شکل رویداد دکمه اول فراخونی میشه


Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Button1_Click(Me, EventArgs.Empty)

End Sub



دوست عزیز این رو میدونستیم ... فکر کنم منظور دوستمون رو خوب متوجه نشدین ... آیا برای دو رویداد keypress و LostFocus کنترل تکست باکس هم میتونین این کار رو انجام بدین؟؟

b.saminjad
پنج شنبه 15 دی 1390, 21:04 عصر
Dim s As KeyPressEventArgs
Button1_KeyPress(Me, s)



میشه ولی چرا میخای اینکارو بکنی ؟؟؟

Hybrid
پنج شنبه 15 دی 1390, 21:43 عصر
Dim s As KeyPressEventArgs
Button1_KeyPress(Me, s)



میشه ولی چرا میخای اینکارو بکنی ؟؟؟


دوست عزیز بازهم کدتون اشکال داره این فقط برای یه کنترل کار میکنه یعنی وقتی که فوکوس میره رو button1 جواب میده نه برای تمام کنترل ها ... ثانیا ایشون میخواد وقتی که از روی تکست باکس رفت رو یه کنترل دیگه رویداد keypress اجرا بشه...خودم هم دلیل این سوالشون رو نمیدونم ولی به هر حال جوابی داره..

Mani_rf
جمعه 16 دی 1390, 01:00 صبح
من میخواهم هنگام خروج از یک textbox رویدادی که در هنگام keypress آن نوشته شده است فراخوانی شود .
کد زیر را نوشته ام ولی خطا می دهد .
call textbox1_keypress
حالا نمیدانم باید چیکار کنم ....:خجالت:

روش اول :
Private Sub TextBox1_LostFocus(sender As Object, e As System.EventArgs) Handles TextBox1.LostFocus

TextBox1_KeyPress(Me, New KeyPressEventArgs(Nothing))

End Sub

روش دوم :
کد مربوط به KeyPress را درون یک تابع بنویس و هرکجا که نیاز داشتی (LostFocus و KeyPress) آن را فراخوانی کن.

mohsenm66
سه شنبه 25 بهمن 1390, 10:11 صبح
دوستان فكر كنم منظور من رو متوجه نشده باشيد
من در key press يك textbox كدي نوشته ام كه وقتي كليد اينتر زده شد اطلاعات را از ديتابيس لود كنه ولي ممكنه كاربر اين كار را نكنه و با كليد tab از تكست باكس خارج بشه .
حالا من ميخواهم يه كدي داشته باشم در lost focus كه بتونم با فرستادن كد كليد enter به رويداد keypress همون كار انجام بشه .
ممنون ميشم راهنمايي كنيد.

فرید نجفلو
سه شنبه 25 بهمن 1390, 11:22 صبح
دوست عزیز احتمالا منظور شما این باشه:

Private Sub TextBox1_KeyPress(sender As System.Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar = Chr(Keys.Return) Then
'Do Any Thing
End If
End Sub
Private Sub TextBox1_LostFocus(sender As Object, e As System.EventArgs) Handles TextBox1.LostFocus
Dim EvArg As New KeyPressEventArgs(Chr(Keys.Return))
TextBox1_KeyPress(sender, evArg)
End Sub