PDA

View Full Version : سوال: حرکت در دیتا گرید بعد از تایپ با استفاده از کلید اینتر



amir_rtf
یک شنبه 14 دی 1393, 13:25 عصر
سلام دوستان در یک دیتا گرید معمولی کد زیر رو نوشتم

private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
e.Handled = true;
if (e.KeyData==Keys.Enter)
{

int raj = Int32.Parse(dataGridView1.CurrentRow.Index.ToStrin g());
if (dataGridView1.CurrentCell == dataGridView1["Column1", raj])
{
dataGridView1.CurrentCell = dataGridView1["Column2", raj];
}
else if (dataGridView1.CurrentCell == dataGridView1["Column2", raj])
{
dataGridView1.CurrentCell = dataGridView1["Column3", raj];
}
else if (dataGridView1.CurrentCell == dataGridView1["Column3", raj])
{
dataGridView1.CurrentCell = dataGridView1["Column4", raj];
}
else if (dataGridView1.CurrentCell == dataGridView1["Column4", raj])
{
dataGridView1.CurrentCell = dataGridView1["Column5", raj];
}
else if (dataGridView1.CurrentCell == dataGridView1["Column5", raj])
{
dataGridView1.CurrentCell = dataGridView1["Column1", raj + 1];
}

}
}

تا زمانی که در سلول مورد نظر تایپ نشده اینتر کرسر را به سلول هم ردیف می برد اما بعد از تایپ و زدن اینتر کرسر به سلول ردیف پایین میرود چجوری میتونم از این کار جلو گیری کنم

sasan_22
یک شنبه 14 دی 1393, 18:22 عصر
تو ایونت keypress میتونی اینطوری بنویسی

if(e.keycode==13)
{
DGV.selectedindex +=1;
}


البته به این صورت می شه ولی خودم کد بالا رو اجرا نکردم

amir_rtf
سه شنبه 16 دی 1393, 12:09 عصر
تو ایونت keypress میتونی اینطوری بنویسی

if(e.keycode==13)
{
DGV.selectedindex +=1;
}


البته به این صورت می شه ولی خودم کد بالا رو اجرا نکردم

sسلام اقا این دستوره اشتباهه تو keypressاصلا selectedindexنداره

amir_rtf
سه شنبه 16 دی 1393, 12:11 عصر
کسی راهه دیگه ای به نظرش نمیاد