为了清楚起见,我将进一步改进我的信息:我有一个 TableLayoutView(我称之为 tlv),它有5 个固定列和x + 2行。tlv 的第一行包含每个单元格中用于标题目的的标签。我在 tlv 上动态添加更多行,因此它为什么具有可变数量的行(加上从未删除的初始标题行)。作为另一个小问题,我还在 tlv 底部保留了一个空行条目,我必须保留它,因为我将它用于其他功能。为了形象化我刚才所说的内容,这是一个 tlv 示例,由 4 个条目(编号)、标题行 (H's) 和占位符行 (P's) 组成。HHHHH11111222223333344444PPPPP我想从那个开始,也就是说,如果我想交换条目 2 和 3,输出将是:HHHHH11111333332222244444PPPPP我到目前为止的代码如下:for (int j = 0; j < 5; j++){ TableLayoutPanelCellPosition tablePosition1 = new TableLayoutPanelCellPosition(j, rowIndex + 1); Control moveControl1 = queuedFiles.GetControlFromPosition(j, rowIndex); queuedFiles.SetCellPosition(moveControl1, tablePosition1); TableLayoutPanelCellPosition tablePosition2 = new TableLayoutPanelCellPosition(j, rowIndex); Control moveControl2 = queuedFiles.GetControlFromPosition(j, rowIndex + 1); queuedFiles.SetCellPosition(moveControl2, tablePosition2); if (j.Equals(0)) { moveControl1.Text = (rowIndex + 1).ToString(); moveControl2.Text = (rowIndex).ToString(); }}但是,此代码不起作用,对于上面的示例,它会生成:HHHHH11111332222233344444PPPPP我相信正在发生的是 tlv 在移动它们的过程中自动组织它的内容本身(也许是为了填补空白?)。上面的rowIndex是目标行的索引,必须与其下面的行交换。我不需要担心检查是否只有 1 行或者它是否是最后一行,因为我已经这样做了。也忽略更改文本,我只需要一个关于如何实现预期结果的指针!绝对感谢您提供的任何帮助:)
1 回答
- 1 回答
- 0 关注
- 390 浏览
添加回答
举报
0/150
提交
取消