PDA

View Full Version : سوال: صدای دینگ در هنگام جا به جایی فوکوس با کلید enter



mohammadreza1368
سه شنبه 19 خرداد 1388, 10:50 صبح
با سلام خدمت دوستان برنامه نویس!
با استفاده از کد زیر به درستی با کلید enter بر روی textboxها حرکت میکنم اما موقع انتقال فوکوس یک دینگ میدهد نمشود کاریش کرد که این صدا را ندهد لطفا راهنمائیم کنید ممنون
protected override bool ProcessDialogKey(Keys keyData)
{
if (keyData == Keys.Return)
SendKeys.Send("{TAB}");
return base.ProcessDialogKey(keyData);
}

mohsen_csharp
سه شنبه 19 خرداد 1388, 11:31 صبح
در رویداد KeyPress پس از اینکه تشخیص دادی کلید اینتر فشار داده شده بنویس

e.Handled = true;

hozouri
سه شنبه 19 خرداد 1388, 11:33 صبح
منم دنبال این کد بودم ولی پبدا نکردم ولی یه راه حل خیلی ساده هست از تنظیمات صدای ویندوز اون صدا رو پاک کنی

mohsen_csharp
سه شنبه 19 خرداد 1388, 11:42 صبح
منم دنبال این کد بودم ولی پبدا نکردم ولی یه راه حل خیلی ساده هست از تنظیمات صدای ویندوز اون صدا رو پاک کنی
این دیگه چه روشیه دوست من.
شما پس از اینکه نرم افزارتونو به کاربر میدید بهش میگید که برو اون صدا رو از تو ویندوزش حذف کنه؟

hozouri
سه شنبه 19 خرداد 1388, 14:29 عصر
این دیگه چه روشیه دوست من.
شما پس از اینکه نرم افزارتونو به کاربر میدید بهش میگید که برو اون صدا رو از تو ویندوزش حذف کنه؟

خیر دوست عزیز من از تنظیمات رجیستری استفاده می کردم .

hz26262
پنج شنبه 21 خرداد 1388, 02:54 صبح
اين كد جواب ميده:
اول براي فرم KeyPreview = True

بعد براي keypress فرم

Private Sub Form1_KeyPress _
(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) _
Handles MyBase.KeyPress

If e.KeyChar = chr(13) Then
If TypeOf Me.ActiveControl Is TextBox Then
Dim tb As TextBox = DirectCast(Me.ActiveControl, TextBox)
If tb.Multiline AndAlso tb.AcceptsReturn Then
e.Handled = False
Exit Sub
End If
End If
e.Handled = True
Dim myform As Form = Me.FindForm
myform.SelectNextControl(myform.ActiveControl, True, True, True, True)
myform.ActiveControl.Focus()
End If
End Sub

mohammadreza1368
پنج شنبه 21 خرداد 1388, 16:06 عصر
ممنون عزیزم ولی من با c# برنامه نوشتم اما شما با vb

mohammadreza1368
پنج شنبه 21 خرداد 1388, 16:10 عصر
میشه کد را برام بگذارید

hamehpour
پنج شنبه 21 خرداد 1388, 16:30 عصر
دوستان خسته نباشید
من برای حرکت بین txtها با Enter از روش زیر استفاده می کنم
اول براي فرم KeyPreview = True
بعد براي keypress فرم میگم
if (e.keychar==13)
this.processtabkey(true);