PDA

View Full Version : سوال: جابجایی بین کنترلها با اینتر در سی شارپ



ELI994
یک شنبه 11 دی 1390, 14:16 عصر
سلام
چطوری می تونم بین کنترلها مثلا تکست باکسها با اینتر جابجا بشم ( تو فرم ایجاد شده )
با تب می تونم این کار رو بکنم ولی با اینتر نمی شه

ELI994
یک شنبه 11 دی 1390, 14:36 عصر
چرا هیشکی کمکم نمی کنه

bazardeh
یک شنبه 11 دی 1390, 14:44 عصر
دوست عزیز با جستجو کردن زود تر به نتیجه می رسی

اگر شما 2 تکس باکس داشته باشی و می خای از تکس باکس اولی با زدن اینتربه تکس باکس دومی بری ، در رویداد KeyDown تکس باکس اولی مثل زیر بنویس


private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == 13)
textBox2.Focus();
}

اسماعیل ابراهیمی
یک شنبه 11 دی 1390, 15:29 عصر
دوست عزیز شما می تونید از کد زیر در رویداد KeyDown هر کنترلی که می خواهید استفاده کنید .

if (e.KeyCode == Keys.Enter)
{

if (this.GetNextControl(ActiveControl, true) != null)
{
e.Handled = true;
this.GetNextControl(ActiveControl, true).Focus();

}
}

ELI994
دوشنبه 12 دی 1390, 07:41 صبح
از همتون ممنونم امتحان می کنم

pikalo
دوشنبه 12 دی 1390, 11:27 صبح
اگر منظورت اینه که از enter به جای tab استفاده کنی بهترین روش اینه که ابندا خاصیت keypreview را در تنظیمات فرم true کنی بعد تو رویداد key_press فرم این کد را بنویس :



private void MainForm_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
{
e.Handled = true;
SendKeys.Send("{TAB}");
}
}



حالا رو هر کنترلی از فرمت که enter بزنی به کنترل بعدی میره و عمل tab را انجام میده.