所有,我有一个自定义用户控件,它是使用单例模式调用的。这个控件可以被显示或隐藏,并且可以更新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
的方式。我正在从设计师抛出下面的错误...
我在做什么错在这里?
谢谢你的时间。
编辑。我似乎从构造到控件Load事件移动
this.VisibleChanged += new EventHandler(ResultsControl_VisibleChanged);
已经解决了这一点。所以现在的问题是:这是一个有效的修复?
您确定ResultsControl的父窗体是SqlEditorForm吗? –
是的。这是应用程序的主要形式,整个应用程序只有两种形式。 – MoonKnight
ResultsControl或其他表单上? –