![](/img/trans.png)
[英]Where can I find a C# ASP.NET tutorial on how to make a simple content management system?
[英]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.