PDA

View Full Version : فوکوس روی چند textbox



mina1363
سه شنبه 20 مرداد 1388, 18:39 عصر
سلام دوستان
من چند تا textbox رو فرمم دارم که در حالت runtime کنار هم چیده میشن
چطوری میشه بعد از اینکه روی یکیشون تایپ شد focus بره به کناری اش؟

اَرژنگ
سه شنبه 20 مرداد 1388, 18:44 عصر
سلام دوستان
من چند تا textbox رو فرمم دارم که در حالت runtime کنار هم چیده میشن
چطوری میشه بعد از اینکه روی یکیشون تایپ شد focus بره به کناری اش؟


if
(شرط اینکه تایپ شدن تمام شده)
{
//فوکوس را ببر به تکست باکس بعدی.
;()NextTextBox.Focus
}

اینکه شرط تمام شدن تایپ را در تکست باکس را چطوری تعریف میکنیم با شما.

saed2006
سه شنبه 20 مرداد 1388, 19:20 عصر
توی رویداد textchange یا keyperess تکست باکس اولی میتونی شرط رو چک کنی بعد هم با دستور textbox2..Focus()
فوکوس رو تغییر میدی

mina1363
چهارشنبه 21 مرداد 1388, 04:47 صبح
دوستان عزیز دقت داشته باشید گفتم این textbox ها در runtime هستند من در طراحی اونا رو نمیبینم که بخوام از رویدادها استفاده کنم؟!

hozouri
چهارشنبه 21 مرداد 1388, 09:22 صبح
پراپرتی tab اون ها رو در زمان Runtime مشخص کن (به ترتیبی که باید باشن) بعد از دستور زیر استفاده کن :


SendKeys.Send("{TAB}");

Mohsen229266
چهارشنبه 21 مرداد 1388, 10:11 صبح
سلام دوست عزیز وقتی کنترل ها رو بصورت runtime ایجاد میکنید میتونید برای کنترل ها ایونت تعریف کنید

Evil 69
چهارشنبه 21 مرداد 1388, 10:20 صبح
می تونی توی ریداد Mousedown تکس باکس هاتوقتی کلید Enter خورد بنویسی :

selectnextcontrol(sender,true,true,true)


موفق باشید

Mohsen229266
چهارشنبه 21 مرداد 1388, 18:31 عصر
اینم کد البته با Enter فوکوس و عوض میکنه میتونید شرط رو عوض کنید


TextBox textBox1;
TextBox textBox2;
TextBox textBox3;
private void Form1_Load(object sender, EventArgs e)
{
this.textBox1 = new System.Windows.Forms.TextBox();
this.textBox2 = new System.Windows.Forms.TextBox();
this.textBox3 = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// textBox1

this.textBox1.Location = new System.Drawing.Point(70, 104);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(70, 20);
this.textBox1.TabIndex = 0;
this.textBox1.KeyDown += new KeyEventHandler(this.textBox1_KeyDown);
// textBox2

this.textBox2.Location = new System.Drawing.Point(140, 104);
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(70, 20);
this.textBox2.TabIndex = 1;
this.textBox2.KeyDown += new KeyEventHandler(this.textBox2_KeyDown);
// textBox3

this.textBox3.Location = new System.Drawing.Point(210, 104);
this.textBox3.Name = "textBox3";
this.textBox3.Size = new System.Drawing.Size(70, 20);
this.textBox3.TabIndex = 2;
this.textBox3.KeyDown += new KeyEventHandler(this.textBox3_KeyDown);
//------------------------------
this.Controls.Add(textBox1);
this.Controls.Add(textBox2);
this.Controls.Add(textBox3);

}
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
SendKeys.Send("{TAB}");
}
private void textBox2_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
SendKeys.Send("{TAB}");
}
private void textBox3_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
SendKeys.Send("{TAB}");
}

farid_ehzar
پنج شنبه 29 مرداد 1388, 19:51 عصر
در ابتدا خاصیت tabindex هر textbox را تنطیم کرده و بعد در رویداد keydown هر textbox کد زیر را مینویسیم



if (e.KeyCode == Keys.Enter)
{
SendKeys.Send("{tab}");
}