2012-11-16 2 views
1

Infragistics (C# Windows 응용 프로그램)에서 UltraTabPageControl을 BaseForm에 바인딩하고 있습니다.UltraTabPageControl 창이 닫힐 때 어떤 이벤트가 발생합니까

ultraTabPageControl 창을 닫을 때 어떤 이벤트가 트리거됩니까?

분명히 baseform_closing을 사용할 수 있지만 BaseControl에 바인딩하는 usercontrols 수가 많을수록이 이벤트에서 내 코드를 작성할 필요가 없습니다.

ultraTabPageControl의 close 이벤트에 코드 조각을 작성해야합니다.

어떻게 UltraTabPageControl의 닫기 이벤트를 처리 할 수 ​​있는지 알려주세요.

답변

1

UltraTabControl에는 TabClosedTabClosing 이벤트가 있습니다.
이러한 이벤트는 UltraTabPageControl이 호스팅되는 UltraTab의 닫기와 관련이 있습니다.

이벤트 처리기는이 이벤트와 관련된 데이터가 포함 된 TabClosingEventArgs 또는 TabClosedEventArgs 유형의 인수를받습니다.

모든 UltraTab은 UltraTabConrol의 Tabs 컬렉션에 기록됩니다. 모든 UltraTab 내가 표준 Windows 탭 컨트롤 이러한 차이는 더 설명 컨트롤이 모든 UltraTabPageControl

코드 예제를 볼 수있다 호스팅 '공유 페이지'의 존재 때문이라고 생각의 UltraTabPageControl

있다 계층 구조

// Call BeginUpdate to prevent the display from 
    // refreshing as we add individual tabs. 
    // Note: This MUST be paired with a call to 
    // EndUpdate below. 
    this.ultraTabControl1.BeginUpdate(); 

    UltraTab tabAdded; 
    UltraTabsCollection tabs = this.ultraTabControl1.Tabs; 

    // Add a tab to the Tabs collection 
    tabAdded = tabs.Add("options", "&Options"); 

    // Create a new control 
    TextBox tb = new TextBox(); 
    tb.Location = new Point(20,20); 
    tb.Size = new Size(80, 20); 

    // Add the control to the tab's tab page 
    tabAdded.TabPage.Controls.Add(tb); 

    // Call EndUpdate to allow the display to refresh 
    this.ultraTabControl1.EndUpdate(); 

편집 :

당신이 응용 프로그램의 기본 폼을 닫습니다 프레임 워크에 의해 호출 이벤트의 순서는 다음과 같습니다

MAINFORM - FormClosing 
MAINFORM - FormClosed 
MAINFORM - Deactivate 
MAINFORM - HandleDestroyed 
CONTROL - HandleDestroyed 
    .... - repeat for each control 
CONTROL - Disposed 
    .... - repeat for each control 
MAINFORM - Disposed 

UltraTabControl과 그 모든 페이지는 FormClosing 이벤트를받을 때 계속 사용할 수 있어야합니다. 그 시점에서 기본 속성 IsDisposed가 여전히 false 여야하므로 TabControl이 '닫혀 있지 않습니다.'

이제는 의심 스럽습니다 .- 우리는 WinForms 응용 프로그램에 대해 이야기하고 있습니까?

+0

스티브가 대답 해 주셔서 감사합니다. 하지만 창을 닫을 때 (X 단추 또는 Alt + F4) ultratabpagecontrol.In있는 기본 폼에서 나는 form_closing event.when 내가 창을 닫습니다, baseform_closing 이벤트 triggers.In이 이벤트가 필요합니다 코드를 작성해야합니다. ultratabpagecontrol이 닫혀 있는지 확인하십시오. 닫히면 활성 탭이 닫힙니다. –

+0

예 스티브, 우리는 winforms에 대해 이야기하고 있습니다. 그것은 당신이 언급 한 이벤트의리스트가베이스 폼/MAINFORM의 close 이벤트 동안 발생한다는 것을 매우 유익했다. MAINFORM_FormClosing 이벤트에서 usercontrolname.IsDisposed 속성에 액세스 할 수 없습니다 .. –

+0

@VikasKunte 기본 또는 파생 된 폼에서 UltraTabPageControl입니까? 기본 양식에서 나는 당신이 그것에 접근 할 것을 기대합니다. 파생 된 폼에서 기본 폼에서 액세스해야하는 이유는 무엇입니까? 파생 된 형태로 논리를 가질 수없는 이유가 있습니까? – alhalama

관련 문제