tôi có một datagridview với 5 cột, khi tôi nhấn "enter" nó đi đến ô tiếp theo và khi nó đến cuối hàng khi tôi nhấn enter thêm một hàng mới, nhưng vấn đề của tôi là khi tôi di chuyển đến các hàng trước sau khi tôi nhấn Enter nó nhảy các hàng và không đi đến các tế bào tiếp theo, bất kỳ trợ giúp?DataGridView-khi tôi nhấn enter nó đi đến ô kế tiếp
public partial class Form1 : Form
{
public static int Col;
public static int Row;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
dataGridView1.AllowUserToAddRows = false;
dataGridView1.Rows.Add();
}
private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)
{
Col = dataGridView1.CurrentCellAddress.X;
Row = dataGridView1.CurrentCellAddress.Y;
}
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (int)Keys.Enter)
{
if (Col + 1 < 5)
{
dataGridView1.CurrentCell = dataGridView1[Col + 1, Row];
}
else
{
dataGridView1.Rows.Add();
dataGridView1.CurrentCell = dataGridView1[Col - 4, Row + 1];
}
}
}
}
Reinaldo cảm ơn bạn rất nhiều vì câu trả lời của bạn, có quastion khác i wanaa hỏi bạn, để chỉnh sửa một tế bào tôi phải nhấn enter hai lần, lần đầu tiên để chèn dữ liệu của tôi vào ô và lần thứ hai để di chuyển đến ô khác, có cách nào bằng cách nhấn một lần nhập vào hai công việc không? i có nghĩa là khi tôi kết thúc nhập vào ô sau khi nhấn một nhập nó đi đến các tế bào tiếp theo ??? và tôi wanaa yêu cầu bạn có thể giải thích những gì là e.handled = true? thanks anyway – user1264708
Bạn có thể xử lý sự kiện dataGridView1_CellEnter và thêm dataGridView1.BeginEdit (false); – Reinaldo
bạn của tôi có vấn đề khác, cho phép tôi nghĩ 3 hàng và 3 cột, tôi nhập dữ liệu vào hàng1 và cột1 sau khi tôi chuyển sang hàng tiếp theo và nhập dữ liệu khi tôi quay lại hàng1 để chỉnh sửa dữ liệu tôi nhấn enter nó nhảy đến hàng tiếp theo: (nó làm tôi điên lên. Tôi không muốn nhảy sang hàng kế tiếp tôi muốn đến cột tiếp theo – user1264708