모두 싱글 톤 패턴을 사용하여 호출되는 사용자 정의 사용자 정의 컨트롤이 있습니다. 이 컨트롤은 표시하거나 숨길 수 있으며 UI를 업데이트하여 (컨트롤 표시/숨기기 옵션을 제공하기 위해) controls 생성자에서 이벤트 핸들러를 설정합니다.사용자 정의 컨트롤 이벤트 처리기 문제
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
에 대한 참조를 얻고 방식에입니다. 나는
내가 여기 무슨 일을하고있는 중이 야 ... 디자이너에서 던진 다음과 같은 오류는 무엇입니까?
감사합니다.
편집. 나는 컨트롤로드 이벤트에 생성자에서
this.VisibleChanged += new EventHandler(ResultsControl_VisibleChanged);
를 이동하여이 문제를 해결 한 것 같다. 그래서 문제는 이제 유효합니다 : 이것이 유효한 수정입니까?
ResultsControl의 상위 폼이 SqlEditorForm입니까? –
예. 이것은 응용 프로그램의 기본 양식이며 전체 응용 프로그램에는 두 가지 양식 만 있습니다. – MoonKnight
그리고 ResultsControl이 켜져 있습니까? 아니면 다른 양식입니까? –