PDA

View Full Version : حرفه ای: راه حل براي خطا هنگام انتقال فوكوس ار يك كنتر به كنترل ديگر



h_jafarnezhad
دوشنبه 09 دی 1392, 10:24 صبح
يا سلام

توي برنامه در رويداد keypress يك combo box يه كد نوشتم كه هنكام زدن دكمه enter فوكوس رو به كنترلtextbox انتقال بده حالا توي يه سيستم خطا ميده
114600


Private Sub CmbDoctor_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then CmbTypeAdmit.SetFocus: Exit Sub
مربوط به خط قرمز رنگ برنامه مي شه
راه حلش چيه؟
خيلي فوريه

m.4.r.m
دوشنبه 09 دی 1392, 11:39 صبح
من تست کردم مشکلی نداشت شاید به چیز دیگه ای گیر میده دقیقا کد هاتو بزار نگاه کنیم اینطوری هیچ مشکلی نداری شما
Private Sub Combo1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text1.SetFocus
End If
End Sub

h_jafarnezhad
دوشنبه 09 دی 1392, 11:45 صبح
من تست کردم مشکلی نداشت شاید به چیز دیگه ای گیر میده دقیقا کد هاتو بزار نگاه کنیم اینطوری هیچ مشکلی نداری شما
Private Sub Combo1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text1.SetFocus
End If
End Sub

مشكل همين جاست فقط توي يك سيستم اين خطا اتفاق افتاده
همين برنامه توي بقيه جاها بدون مشكل داره كار مي كنه:متفکر::متعجب:
عكسي رو هم كه گذاشتم فقط توي همون يك سيستم مشاهده شده

vbhamed
چهارشنبه 11 دی 1392, 00:53 صبح
سلام
احتمالا قبل از اينكه فرم نمايش داده بشه اين دستور اجرا ميشه و چون كنترل هنوز نمايش داده نشده پس نمي‌تونه فوكوس بگيره
از On Error Resume Next اول تابع استفاده كنيد يا به شكل زير اصلاحش كنيد :
Private Sub Combo1_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 And text1.Visible Then text1.SetFocus

End Sub

h_jafarnezhad
چهارشنبه 11 دی 1392, 08:08 صبح
سلام هر دو كنترل توي يك فرم هستن و همزمان نمايش پيدا مي كنن.

vbhamed
شنبه 14 دی 1392, 13:56 عصر
سلام
در هر حال كد پست 4 رو امتحان كنيد