这是我之前的问题Delphi TStringGrid 多选的后续行动 ,确定有关 Delphi 字符串网格的选定行。这是一个不同的问题。
我更仔细地查看了对象的 ONSelectCell 事件 TSelectCellEvent = procedure (Sender: TObject; ACol, ARow: Longint; var CanSelect: Boolean);
我注意到 TStringGrid.Selection.Top,Bottom 属性不一定准确(在事件本身内)。基本上,如果有人从选择多行变为只选择一行,则 selection.* 属性不会更新,而如果选择多行,它们会更新。
无论是否选择了一行或多行,ARow 参数都会更新,但这仅在我可以确定仅选择了一行时才对我有所帮助。
例如,如果只选择了一行,则使用 Arow 参数,如果多于一行,则使用 Selection.* 属性来确定当前选择了哪些行。
必须有一个更简单的方法......
谢谢!