런타임에 텍스트 파일을 사용하여 행으로 채워진 TableLayoutPanel이 있습니다 (텍스트 파일의 각 행을 가져 와서 새 행에 포함 된 셀에 넣음). 코드는 다음과 같습니다 : I 수동으로 소스를 편집 할 수 있도록하려면 있지만, 그래서 난 새가 만든 모든 것을 삭제할 수 있지만 그렇지 않기 때문에, 여기에 붙어있을 것 같다하는 방법을 썼다 TableLayoutPanel : 행 삭제
public static string UrlList= @"C:\Users\Berisha\Desktop\URLs.txt";
string[] UrlRows = System.IO.File.ReadAllLines(@UrlList);
private void InitPaths()
{
int a = 0;
int c = 1;
while (a < UrlRows.Length-1)
{
//new label
var label = new Label();
label.Dock = DockStyle.Fill;
label.AutoSize = false;
label.Text = UrlRows[a];
label.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
label.Size = new System.Drawing.Size(22, 13);
label.BackColor = System.Drawing.Color.Transparent;
TBP.Controls.Add(label, 3, c); //Add to TableLayoutPanel
a++;
c++;
}
}
작업 :
private void clearPaths()
{
int c = UrlRows.Length - 1;
while (c <= UrlRows.Length - 1)
{
TBP.RowStyles.RemoveAt(c); //Remove from TableLayoutPanel
c--;
}
}
// 강령 정지시 : TableLayoutPanel.RowStyles.RemoveAt (C) (디버깅하는 동안) // 에러 읽기 : "개체 참조가 개체의 인스턴스로 설정되지 않았습니다" U pdate : 나는 RemoveAt라고 말한 후에 아무 것도 제거되지 않는 것 같아서 오류에서 벗어날 수 있었다. 내가 할 수있는 일이 누구인지 아는 사람이 있습니까?
좋아요, 당신은 영원히 갇혀있는 걸까요? 또는 "작동하지 않는"것은 무엇입니까? 좀 더 설명이 필요합니다. "효과가 없다"는 것은 아마도 문제를 설명 할 수있는 최악의 방법 일 것입니다. 또한,'clearPaths'와'InitPaths'에서'a'를 증가 시키지만,'InitPaths'에서만 선언 할 필요는 없습니다. 'a'가 글로벌 변수라면, 나는 그 이름을 가지고 있지 않길 바랄 뿐이지 만, 'clearPaths'에서 그것을 증가시킬 필요가없는 것처럼 보입니다. 그래도 InitPaths에'a '라는 선언과 이름 충돌이 있기 때문에 어떻게 될지 모르겠다. – tnw
Accidentaly는 질문을 쓰는 동안 두 번째 방법으로 잊어 버렸다. – gbbb