我一直陷在我的程序的這一部分。 當我打電話給listbox.selectitemchange
事件時,我想要顯示適量的trackbar和標籤。刪除動態創建的控件
現在,它不能正常工作。 其中一些事件被調用時會被刪除,其中一些不會。
foreach (Label label in Controls.OfType<Label>())
{
if (label.Tag != null && label.Tag.ToString() == "dispose")
{
label.Dispose();
}
}
foreach (TrackBar trackBar in Controls.OfType<TrackBar>())
{
if (trackBar.Tag != null && trackBar.Tag.ToString() == "dispose")
{
trackBar.Dispose();
}
}
for (int i = 0; i < calc; i++)
{
//string[] LineWidthSplitted = lines[lineWidth].Split(' ');
//Int32.TryParse(LineWidthSplitted[2], out WidthValue);
Label Label = new Label();
Label.Name = "TrackbarWidth" + LabelName++;
Label.Tag = "dispose";
Label.Text = "Board -" + LabelName + "- Height:";
Label.Location = new Point(10, 450 + (50 * LabelName));
Label.Size = new System.Drawing.Size(100, 25);
this.Controls.Add(Label);
TrackBar trackBar = new TrackBar();
trackBar.Name = "TrackbarWidth" + trackbarName++;
trackBar.Tag = "dispose";
trackBar.Maximum = 85;
trackBar.Minimum = 65;
trackBar.SmallChange = 5;
trackBar.TickFrequency = 5;
trackBar.Value = 65;
trackBar.Location = new Point(150, 450 + (50 * trackbarName));
trackBar.Size = new System.Drawing.Size(100, 25);
this.Controls.Add(trackBar);
lineWidth += 4;
}
同時,當我刪除的foreach爲跟蹤條,得到正確顯示的所有標籤。 它們全部被刪除,重新創建需要創建的價格量,沒有例外。
有什麼理由?
謝謝。
好,如果你創建的所有標籤,都作爲標籤「處理」,並且所有帶有「處置」標籤的標籤都應該被丟棄,那麼問題是什麼? – Nolonar
,因爲當我調用foreach來獲取軌跡條被刪除。他們中的一些人仍然留[軌道杆和標籤],我找不到任何理由。 – user1859829
嘗試從父項中移除它們。 –