C# 将焦点移出datagridview
时间: 2024-12-25 21:16:59 浏览: 6
在C#中,如果你想从DataGridView中移除焦点,可以使用`Focus()`方法的相反操作,即`FocusNext()`或`FocusPrevious()`方法,它们会将焦点移动到下一个或上一个控件。如果希望完全移除当前单元格的焦点,可以使用`e.Handled = true;`来阻止默认的焦点处理:
```csharp
private void DataGridView_CellLeave(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex != -1)
{
// 移除当前单元格的焦点
e.Handled = true;
// 如果希望移向下一行或上一行,可以选择下面任一方法
// DataGridViewElement focusedElement = dataGridView.FocusedElement as DataGridViewTextBoxCell;
// focusedElement?.NextControl.Focus();
// focusedElement?.PreviousControl.Focus();
}
}
```
如果你只想将焦点从整个DataGridView移除,可以直接调用dataGridView的`ClearSelection()`方法并清除焦点:
```csharp
dataGridView.ClearSelection();
dataGridView.CurrentCell = null;
```
阅读全文