我使用按鈕Save
,Close
和Cancel
創建了一個用戶控件。我想在不保存「取消」按鈕的情況下關閉表單,提示一條消息保存在關閉按鈕上並保存,而不關閉保存按鈕。通常,我會在取消按鈕上使用this.Close()
,但UserControl沒有這樣的選項。所以我想我必須爲此設置一個屬性。如何關閉用戶控件中的窗體
向下滾動"Questions that may already have your answer"
節中,我遇到了這個問題:How to close a ChildWindow from an UserControl button loaded inside it?我用下面的C#代碼:
private void btnCancel_Click(object sender, EventArgs e)
{
ProjectInfo infoScreen = (ProjectInfo)this.Parent;
infoScreen.Close();
}
這確實爲一個屏幕的工作,但我不知道如果我要申請這個代碼我擁有的所有屏幕?我認爲應該有一個更有效的方法。所以我的問題是:我是否需要爲每個表單應用此代碼,還是有另一種更有效的方法?
控制不應該亂用他們的父母,引發一個事件來代替。 –