我有TableLayoutPanel,我以编程方式添加Rows.用户基本上选择了一个属性,然后将其与一些控件一起显示在表中.我想我在这里有一个普遍的理解问题,我会尝试解释它.
每行中的一个控件是"删除"按钮.该按钮应该删除它所在的行.我所做的是向按钮添加一个事件处理程序并设置当前的rowcount.
deleteTalent.Click += (sender, e) => buttonClickHandler(numberOfRows);
Run Code Online (Sandbox Code Playgroud)
处理程序代码:
private void buttonClickHandler(int rowCount)
{
int count = rowCount - 1;
for (int i = count; i < (count + 5); i++)
{
balanceTable.Controls.RemoveAt(count);
}
balanceTable.RowStyles.RemoveAt(count);
balanceTable.RowCount--;
}
Run Code Online (Sandbox Code Playgroud)
我看了好几个小时,玩了一下.但我找不到一个干净利落的解决方案.我也是C#的新手
这是创建新行的完整函数:
private void addBalanceItems(ToolStripMenuItem item)
{
int numberOfRows = balanceTable.RowCount;
if (numberOfRows > 1)
{
balanceTable.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.AutoSize));
}
balanceTable.Height = numberOfRows * 45;
Steigerungsrechner rechner = new Steigerungsrechner();
string tag = item.Tag.ToString();
//change that asap :(
if (tag == "A") { rechner.column …Run Code Online (Sandbox Code Playgroud)