2009-08-17 2 views
2

저는 C#을 처음 사용 했으므로 Windows 양식을 통해 서로 공유 할 수있게하고 싶습니다. 나는 googled bubbling in C#하지만별로 도움이되지 못했습니다. 버블 링을 배울 수있는 좋은 방법은 무엇입니까?어디서 버블 링에 관한 좋은 지침서를 찾을 수 있습니까?

편집 : 사용자가 편집 -> 선호도를 클릭 할 때 표시되거나 생성되는 옵션 양식을 원합니다. 그런 다음 사용자가 옵션 양식에서 변경 한 설정을 기본 양식으로 전달해야합니다.

+1

"버블 링"은 winforms가 아닌 브라우저/DOM과 가장 관련이 있습니다. 너가 말하는게 이거니? –

+0

아니요. 명확히하기 위해 제 질문에 더 많은 정보를 추가했습니다. –

답변

1

두 가지 접근 방법 : 환경 설정에

넣어 속성을 형성하고, 사용자가 [확인]을 클릭 할 때 기본 폼에서 액세스.

if (preferenceForm.ShowDialog() == DialogResult.OK) 
{ 
    this.Color = preferenceForm.UserSelectedColor; 
    //etc... 
} 

기본 양식에서 대리인 양식을 보내고 기본 양식에서 적절한 양식으로 전화를 걸도록하십시오.

class FormSettings 
{ 
    object Color {get, set} 
} 


class MainForm 
{ 
    ... 

    void ChangeSettings(FormSettings newSettings) 
    { ... } 

    void EditPreferences_Click(...) 
    { 
     ... 

     EditPreferencesForm editPreferences = new EditPreferencesForm(this.ChangeSettings) 
     editPreferences.ShowDialog(); 
    }  
} 

class EditPreferencesForm 
{ 
    ... 
    ChangeSettingsDelegate changeSettings; 
    FormSettings formSettings; 

    void OkButton_Click(...) 
    { 
      changeSettings(formSettings); 
    } 
} 
0

상태를 많이 나타내지는 않지만 편집 -> 기본 설정 메뉴가 포함 된 양식도 기본 양식입니까? 그래서, 당신은 환경 설정이 닫히고을 형성 할 때 기본 형태는 기본 양식, fire off an event에서 생성되지 않은 경우 코드

// This is the event handler in the main form 
private void mnuEditPreferencesClicked... 
{ 
    FrmPreferences frmPreferences = new FrmPreferences(); 
    frmPreferences.ShowDialog(this); 
    // Preferences saved, implement changes to main form here 
} 

에 정확한 지점에서 이미하고있는 경우 기본 양식은 이벤트 그런 식으로 처리합니다.