第14章-事件处理与交互
第十四章:事件处理与交互
14.1 单元格事件
using unvell.ReoGrid.Events;
public class CellEvents
{
public void RegisterCellEvents(Worksheet sheet)
{
// 单元格数据变化
sheet.CellDataChanged += (s, e) =>
{
Console.WriteLine($"单元格 {e.Cell.Address} 数据已更改为: {e.Cell.Data}");
};
// 单元格编辑前
sheet.BeforeCellEdit += (s, e) =>
{
// 可以阻止编辑
if (e.Cell.Row == 0)
{
e.IsCancelled = true; // 禁止编辑第一行
}
};
// 单元格编辑中
sheet.CellEdit += (s, e) =>
{
Console.WriteLine("正在编辑单元格: " + e.Cell.Address);
};
}
}
14.2 选择事件
public class SelectionEvents
{
public void RegisterSelectionEvents(Worksheet sheet)
{
// 选择区域变化
sheet.SelectionRangeChanged += (s, e) =>
{
Console.WriteLine($"选择区域: {e.Range}");
};
// 焦点单元格变化
sheet.FocusPosChanged += (s, e) =>
{
Console.WriteLine($"焦点移至: {e.Position}");
};
}
}
14.3 工作表事件
public class WorksheetEvents
{
public void RegisterWorksheetEvents(Worksheet sheet)
{
// 行插入
sheet.RowsInserted += (s, e) =>
{
Console.WriteLine($"插入了 {e.Count} 行,起始行: {e.Index}");
};
// 行删除
sheet.RowsDeleted += (s, e) =>
{
Console.WriteLine($"删除了 {e.Count} 行");
};
// 列插入
sheet.ColumnsInserted += (s, e) =>
{
Console.WriteLine($"插入了 {e.Count} 列");
};
}
}
14.4 鼠标和键盘事件
public class InputEvents
{
public void RegisterInputEvents(ReoGridControl grid)
{
// 鼠标点击
grid.CellMouseDown += (s, e) =>
{
Console.WriteLine($"鼠标点击: {e.CellPosition}");
};
// 键盘按下
grid.CellKeyDown += (s, e) =>
{
if (e.KeyCode == Keys.Delete)
{
Console.WriteLine("按下删除键");
}
};
}
}
14.5 本章小结
本章介绍了ReoGrid的事件处理机制。
📚 下一章预告
第十五章将学习自定义单元格类型。

浙公网安备 33010602011771号