[英]Custom Control Event Handler Issue
所有,我都有一個使用單例模式調用的自定義用戶控件。 可以顯示或隱藏此控件,並更新UI(以提供顯示/隱藏控件選項),我在控件構造函數中設置了事件處理程序。
this.VisibleChanged += new EventHandler(ResultsControl_VisibleChanged);
而事件處理程序是
void ResultsControl_VisibleChanged(object sender, EventArgs e)
{
// Get reference to Show/Hide button.
var showHideResults = ((SqlEditorForm)this.ParentForm).ShowHideResultsButton;
if (instance != null)
showHideResults.Enabled = true;
// Change the status.
showHideResults.Text = this.Visible ?
"&Hide Query Results" :
"&Show Query Results";
showHideResults.Image = this.Visible ?
Properties.Resources.HideResultsVS201224 :
Properties.Resources.ShowResultsVS201224;
}
問題在於我獲取對ShowHideResultsButton
的引用的ShowHideResultsButton
。 我收到設計師發出的以下錯誤...
我在這里做錯了什么?
謝謝你的時間。
編輯。 我似乎已經通過移動
this.VisibleChanged += new EventHandler(ResultsControl_VisibleChanged);
從構造函數到控件的Load事件。 因此,問題就變成了:這是有效的解決方案嗎?
目前,在設計UserControl
您沒有對SqlEditorForm
的引用。 這是ParentForm
屬性將成為SqlEditorForm
只有當你把你的ResultsControl
上SqlEditorForm
使用設計或代碼,通過。 在此之前,IDE僅知道它的類型為Form。 你為什么不實現你ResultsControl_VisibleChanged
內的事件處理程序SqlEditorForm
?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.