簡體   English   中英

在哪里可以找到有關冒泡的好教程?

[英]Where can I find a good tutorial on bubbling?

我是C#的新手,並且希望允許Windows窗體相互簡化。 用C#在Google上冒泡,但是並沒有太大幫助。 有哪些我可以學習冒泡的好方法?

編輯 :我想擁有一個當我的用戶單擊“編輯”->“首選項”時顯示/創建的選項表單。 然后,我希望將用戶在選項表單中更改的設置中繼到主表單。

兩種方法:

將屬性放在您的首選項表單上,並在用戶單擊“確定”時從主表單訪問它們。

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);
     }
}

您不需要說明太多,但是主表單還是包含“編輯”->“首選項”菜單的表單嗎? 如果是這樣,那么您已經在代碼中的正確位置了

// 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
}

如果首選項表單不是從主表單生成的,則在首選項表單關閉時觸發事件 ,並讓主表單以這種方式處理該事件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM