解析C# Winform刷新窗口
作者:devil733
本文介紹了用傳遞委托的方法達到C# Winform刷新另一窗口的目的的方法,供大家參考。
在寫程序時有時會遇到新建一個窗口,填寫某些信息后再刷新原窗口。比如在新窗口添加新管理員,點擊確定提交后再刷新原始窗口的管理員列表。聽起來貌似是很簡單,只要再調用一下綁定管理員列表的函數就可以了,但在新窗口調用那個函數是不行的,但是用傳遞委托的方法可以,代碼如下:
C# Winform刷新窗口步驟1
原始窗體:
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using PAT.DataAccess;
- using System.Collections;
- namespace PAT.WinForm
- {
- public partial class RoleManage : Form
- {
- public delegate void UpdateComoboxAsyscHandler();//作為異步更新角色列表時用的委托,//***使用空參數列表,且要定義為//public
- //更新列表的函數,即上面定義的委托要綁定的函數
- private void UpdateComobox()
- {
- WinFormControlBuilder.Instance.BindRoles(comboBoxRoles);
- }
- private void buttonAddRole_Click(object sender, EventArgs e)
- {
- //AddRole是添加新角色的窗口,這里把剛寫好的委托傳進來
- AddRole addRole = new AddRole(new UpdateComoboxAsyscHandler(UpdateComobox));
- addRole.Show();
- }
- }
- }
C# Winform刷新窗口步驟2
新窗體:
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using PAT.DataAccess;
- using System.Threading;
- namespace PAT.WinForm
- {
- public partial class AddRole : Form {
- public AddRole()
- {
- InitializeComponent();
- }
- private RoleManage.UpdateComoboxAsyscHandler UpdateComoboxAsyscHandler;
- //寫一個新的構造函數,參數是之前寫好的委托
- public AddRole(RoleManage.UpdateComoboxAsyscHandler _updateComoboxAsyscHandler)
- {
- InitializeComponent();
- this.UpdateComoboxAsyscHandler = _updateComoboxAsyscHandler;//委托賦值
- }
- private void buttonSubmit_Click(object sender, EventArgs e)
- {
- //
- //更新數據庫操作
- //
- Accunt_Role account_Role = new Accunt_Role();
- account_Role.RoleName = textBoxRoleName.Text;
- patDataContext.Accunt_Roles.InsertOnSubmit(account_Role);
- patDataContext.SubmitChanges();
- UpdateComoboxAsyscHandler();//調用委托,更新原列表
- MessageBox.Show("添加角色成功!");
- this.Dispose();//關閉窗口
- }
- }
- }
效果示例如下:
點擊確定后,在始窗口列表中顯示:
這樣就可以實現在新窗口添加新角色后,新窗口關閉,同時刷新原始窗口的角色列表。
至此,C# Winform刷新窗口的方法就討論完了。
【編輯推薦】
責任編輯:book05
來源:
csdn