ورود

View Full Version : مبتدی: Focus بروی کمبوباکس



mahsa.admin
چهارشنبه 14 اردیبهشت 1390, 11:07 صبح
69526باسلام
من در فایل ضمیمه یک کمبوباکس(داری اطلاعات) و یک تکس باکس دارم ویک باتن
حالا وقتی با زدن اینتر از کمبو به تکس باکس واز تکس باکس به باتن فوکوس میکنم میخوام بعداز زدن اینتر روی باتن به کمبو بازگردم (این کار با کلیک کردن رو ی باتن جواب میدهد ولی با اینتر جواب نمی دهد و به اشتباه وقتی روی باتن اینتر میکنم کمبو باکس را رد میکند وروی تکس باکس فوکوس میشود)
از دوستان تقاضا دارم راهنمایی نمایند.

barbodsoft.com
چهارشنبه 14 اردیبهشت 1390, 13:14 عصر
این کد رو حذف کن درست می شه.


Me.a.Focus()

mahsa.admin
چهارشنبه 14 اردیبهشت 1390, 13:40 عصر
با تشکر از جوابی که دادین
ولی این زمانی درسته که فوکوس اول کمبو باشه به فایل ضمیمه نگاه کنید در این حالت که بخواهیم فقط بعد اینتر کردن باتن روی کمبو فوکوس کنه دیگه جواب نمیدهد

barbodsoft.com
چهارشنبه 14 اردیبهشت 1390, 15:37 عصر
خوب برای حل این مشکل دو راه داری
1- فکوس رو ببر یکی قبل از کامبو باکس به این شکل


Public Class Form1

Private Sub Form1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp
If e.KeyData = Keys.Enter Then
SendKeys.Send("{Tab}")
End If
End Sub


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.TextBox1.Focus()
End Sub
End Class


2 - که راه اصولی تر هست. رویداد keydown فرم رو حذف کن و برای هر یک از کنترل ها به غیر از button بنویس.


Public Class Form1


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.TextBox1.Focus()
End Sub

Private Sub TextBox1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
If e.KeyData = Keys.Enter Then SendKeys.Send("{Tab}")
End Sub

Private Sub a_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles a.KeyDown
If e.KeyData = Keys.Enter Then SendKeys.Send("{Tab}")
End Sub

Private Sub b_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles b.KeyDown
If e.KeyData = Keys.Enter Then SendKeys.Send("{Tab}")
End Sub
End Class