繁体   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