+1 امتیاز
سلام.

نحوه رفتن به  سلول یا خانه بعدی در دیتاگرید رو در c# با زدن کلید enter آموزش دادید ولی اگر بخواهیم وقتی به آخرین خانه می رسد با زدن کلید enter دوبار به اولین خانه سطر جدید بیاید. لطفا راهنمایی کنید. تشکر
بسته شده

1 پاسخ

+2 امتیاز
 
بهترین پاسخ

سلام دوست عزیز

توی رویداد Keydown دیتاگرید این کد رو بنویس

private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        e.SuppressKeyPress = true;
        int iColumn = dataGridView1.CurrentCell.ColumnIndex;
        int iRow = dataGridView1.CurrentCell.RowIndex;
        if (iColumn == dataGridView1.Columns.Count - 1)
            dataGridView1.CurrentCell = dataGridView1[0, iRow + 1];
        else
            dataGridView1.CurrentCell = dataGridView1[iColumn + 1, iRow];

    }
}

 

خیلی متشکرم . واقعا زحمت کشیدید
توسط (212 امتیاز) 4 13 42

خواهش می کنم....از کد زیر هم می تونید استفاده کنید :

private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyData == Keys.Enter)
    {
        int Column = dataGridView1.CurrentCell.ColumnIndex;
        int Row = dataGridView1.CurrentCell.RowIndex;

        if (Column < dataGridView1.ColumnCount - 1)
        {
            Column++;
        }
        else
        {
            Column = 0;
            Row++;
        }

        if (Row == dataGridView1.RowCount)
            dataGridView1.Rows.Add();

        dataGridView1.CurrentCell = dataGridView1[Column, Row];
        e.Handled = true;
    }
}
توسط (6,480 امتیاز) 6 17 129
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,919 کاربر

دسته بندی ها

...