此行爲似乎是在Windows窗體中硬編碼。我認爲你不能找到一個更好的編碼方式。
我建議你的一個建議是處理DataGridView.CellPainting
事件並手動繪製邊框。然後,您可以使用所需的樣式繪製邊框,以便用戶比「TAB」方法更容易看到當前單元格。這是一個帶紅的例子虛線邊框:
private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
if (dataGridView1.CurrentCell != null && e.RowIndex != -1 && e.ColumnIndex != -1 &&
dataGridView1.CurrentCell.RowIndex == e.RowIndex &&
dataGridView1.CurrentCell.ColumnIndex == e.ColumnIndex)
{
e.Paint(e.ClipBounds, e.PaintParts);
var pen = new Pen(Color.Red) { DashStyle = DashStyle.Dash };
var rect = new Rectangle(e.CellBounds.Left, e.CellBounds.Top, e.CellBounds.Width - 2, e.CellBounds.Height - 2);
e.Graphics.DrawRectangle(pen, rect);
e.Handled = true;
}
}
您是否嘗試設置'CurrentCell'屬性? – Bioukh
設置'CurrentCell'不會像按Tab一樣給我單元格周圍的邊框。 – JPProgrammer