결정된 위치에서 ac # tableLayoutPanel에 행을 삽입하려고합니다.
레이블 중 하나에 확인 표시가없는 첫 번째 행을 확인하고 컨트롤을 삽입 할 행으로 설정해야합니다.
for 루프에서 insertRow를 설정 한 것 같지만 행 삽입 지점에 도달하면 insertRow 값은 0입니다. for 루프가 종료되면 insertRow 값이 다시 0으로 되돌아가는 것 같습니다. 할당되지 않은 변수 사용에 대한 오류 메시지가 표시되면 "= 0"으로 insertRow를 초기화하지 마십시오. 도움을 주시면 감사하겠습니다.
int insertRow = 0;
int rowCount = tableLayoutPanel2.RowCount;
//Get first row without member listed
for (int i = 1; i <= rowCount - 1; i++)
{
if (tableLayoutPanel2.GetControlFromPosition(1, i).Text != "✔")
{
insertRow = i;
}
}
//Add Row to table
tableLayoutPanel2.RowCount++;
tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 29));
//Insert Row
tableLayoutPanel2.Controls.Add(new Label() { Text = Name.Text, TextAlign = ContentAlignment.MiddleCenter, Anchor = AnchorStyles.None, AutoSize = false }, 0, insertRow);
필요한 것은 insertRow 변수 세트를 유지하기 위해 루프를 "중단"하는 것뿐이었습니다.
for (int i = 1; i <= rowCount - 1; i++)
{
if (tableLayoutPanel2.GetControlFromPosition(1, i).Text != "✔")
{
insertRow = i;
break;
}
}
//Add Row to table
tableLayoutPanel2.RowCount++;
tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 29));
//Insert member
tableLayoutPanel2.Controls.Add(new Label() { Text = Name.Text, TextAlign = ContentAlignment.MiddleCenter, Anchor = AnchorStyles.None, AutoSize = false }, 0, insertRow);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다