您的位置:首页 > 编程语言 > PHP开发

TableLayoutPanel控件动态删除一行,贴出来分享一下

2013-05-15 10:26 399 查看
private void btnDelSelect_Click(object sender, EventArgs e)

{

bool bOver = true;//删除结束标记

REPEAT:

if (tlpSelection.RowCount == 0) { return; }

//遍历tlpSelections

for (int i = 0; i < tlpSelection.RowCount; i++)

{

bOver = true;

Control ctl = tlpSelection.GetControlFromPosition(0, i);

if (ctl.GetType().ToString().Contains("RadioButton"))

{

RadioButton rb = (RadioButton)ctl;

if (rb.Checked)

{

bOver = false;//有勾选项就没有结束

tlpSelection.Controls.Remove(rb);

//将后面行往前面移

int iCnt = tlpSelection.RowCount - 1 - i;

for (int j = 0; j < iCnt; j++, i++)

{

Control ctlNext = tlpSelection.GetControlFromPosition(0, i+1);

tlpSelection.SetCellPosition(ctlNext, new TableLayoutPanelCellPosition(0, i));

}

//移除最后一行

tlpSelection.RowStyles.RemoveAt(tlpSelection.RowCount - 1);

tlpSelection.RowCount = tlpSelection.RowCount - 1;

break;//一行一行地删除

}

}

}

if (bOver == false)

{

goto REPEAT;//由于删除一行后,行数有了变化,for循环就得从新开始执行

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: