在Winforms應用程序中,我使用從Control
派生的自定義控件的窗體。簡化情況如下:在按鈕點擊處理程序中,我將從Controls
集合中刪除控件並再次添加它。之後它消失 - 不可見。爲什麼?在刪除並添加控件後,它不可見
private void nextButton_Click(object sender, EventArgs e)
{
Controls.Remove(_myControl);
Controls.Add(_myControl);
}
(在現實中,我想刪除這個控制和與其他控制替換它,這是一個測試的情況。)
這現在爲我工作。您可以發佈您爲自定義控件編寫的代碼嗎? –
@ user2946329這是相當大的,我不知道什麼是重要的。它在大型應用程序中運行良好,但有這個奇怪的錯誤。如果您有任何問題,我會發布一部分代碼 – demonplus
您正在更改控件的Z順序,它現在位於底部。因此,不再看到它的一種方式是因爲它現在與另一個控件重疊。繪畫代碼中的錯誤將是另一種解釋。調用Remove()而不是Dispose()是一個永不停止導致問題的嚴重錯誤。請不要讓我們猜測。 –