مشکل با enter برای حرکت بین فرم
سلام. میخام اگه تکست باکس پر بود با زدن دکمه enter بره فیلد بعدی. اما کار نمیکنه. مشکل از چیه؟؟؟
void buyFactor_StuffNameKeyPress(object sender, KeyPressEventArgs e)
{
buyFactor = sender as UC.Factor;
e.Handled = true;
if (Convert.ToInt32(e.KeyChar) == 32 && buyFactor.StuffName != "")
{
SendKeys.Send("{Tab}");
}
else
{
frmSelectStuff selectStuff = new frmSelectStuff();
selectStuff.SelectStuffName = e.KeyChar.ToString();
selectStuff.ShowDialog();
//Check the form SelectStuff for Click Button Ok
if (selectStuff.SelectStuffId > 0)
{
DataTable dt = new DataTable();
dt = stuff.GetStuffAndUntiByStuffId(selectStuff.SelectS tuffId);
//Set Property
buyFactor.StuffName = dt.Rows[0]["StuffName"].ToString();
buyFactor.UnitName = dt.Rows[0]["UnitName"].ToString();
buyFactor.StuffId = Convert.ToInt16(dt.Rows[0]["StuffId"].ToString());
buyFactor.UnitId = Convert.ToInt16(dt.Rows[0]["UnitId"].ToString());
}
//if form sell find pricesell
if (form == 2)
{
buyFactor.PriceSell = buy.GetPriceSell(selectStuff.SelectStuffId);
}
}
}
وقتی برنمم رو روی این خط متوقف میکنم سیستم هنگ میکنه
if (Convert.ToInt32(e.KeyChar) == 32 && buyFactor.StuffName != ""
نقل قول: مشکل با enter برای حرکت بین فرم
سلام
خوب میتونی از keyDown استفاده کنی
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == 13&&textBox1.Text!="")
textBox2.ّFocus();
}
نقل قول: مشکل با enter برای حرکت بین فرم
نقل قول:
نوشته شده توسط
mahziar
سلام
خوب میتونی از keyDown استفاده کنی
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == 13&&textBox1.Text!="")
textBox2.ّFocus();
}
دوست عزیز تو keydown نمیتونی Handled رو دستکاری کرد؟ یعنی نمیدونم چرا کار نمیکنه؟ واسه همین مجبور شدم با keypress کار کنم
نقل قول: مشکل با enter برای حرکت بین فرم
من که تو کدی که گذاشتی نمیبینم جایی Handled رو دستکاری کرده باشی
نقل قول: مشکل با enter برای حرکت بین فرم
e.Handled = true;
خط چهارم....
نقل قول: مشکل با enter برای حرکت بین فرم
خوب من با یه متغیر بین keydown و KeyPressارتباط برقرار کردم .
این کد از وارد کردن حروف جلوگیری میکنه و فقط عدد باید توش وارد کرد .
private bool nonNumberEntered;
private void textBox2_KeyDown(object sender, KeyEventArgs e)
{
nonNumberEntered = false;
if (e.KeyCode < Keys.D0 || e.KeyCode > Keys.D9)
{
if (e.KeyCode < Keys.NumPad0 || e.KeyCode > Keys.NumPad9)
{
if (e.KeyCode != Keys.Back)
{
nonNumberEntered = true;
}
}
}
}
private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
{
if (nonNumberEntered == true)
{
e.Handled = true;
}
}
نقل قول: مشکل با enter برای حرکت بین فرم
دوستان بنا به دلایلی نمیتونم از keydown استفاده کنم. کسی میتونه رو همین کد خودم بگه مشکل از کجاست؟؟؟