← 返回所有博客文章

TX Text Control 中为表格操作提供的丰富的编程接口,可以通过代码和集成对话框完成表格的插入、删除、合并、拆分以及表格样式设置等操作。本文主要是讲解如何获取当前表格中选中的单元格坐标。基本思路是获取TX中当前选中的范围,然后将单元格的坐标与选中范围作比较,以确定单元格是否被选中。

代码如下:

    // 获取选中的单元格坐标
    private string GetSelectedCells() 
    {
        StringBuilder sb = new StringBuilder();
        Table table = textControl1.Tables.GetItem();
            
        Selection curSelection = new Selection(textControl1.Selection.Start,textControl1.Selection.Length);
        textControl1.Selection.Length = 0;
        // 获取选中单元格的起始单元格坐标
        int iTableStartRow = table.Cells.GetItem().Row;
        int iTableStartCol = table.Cells.GetItem().Column;
            
        if (curSelection.Length != 0)
        {
            textControl1.Selection.Start = curSelection.Start + curSelection.Length - 1;
        }
            
        // 获取选中单元格截止单元格坐标
        int iTableEndRow = table.Cells.GetItem().Row;
        int iTableEndCol = table.Cells.GetItem().Column;
        // 循环所有单元格以检查当前单元格是否在选中单元格范围内
        foreach (TableCell cell in textControl1.Tables.GetItem().Cells)
        {
            if (cell.Row >= iTableStartRow && cell.Row <= iTableEndRow && cell.Column <= iTableEndCol && cell.Column >= iTableStartCol)
                sb.Append(string.Format("[{0},{1}] ",cell.Row,cell.Column));
        }
        return sb.ToString();
    }

SelectedTableCells

源码下载:TX Text Control for WinForms X9