自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

解析C# Winform刷新窗口

開(kāi)發(fā) 后端
本文介紹了用傳遞委托的方法達(dá)到C# Winform刷新另一窗口的目的的方法,供大家參考。

在寫(xiě)程序時(shí)有時(shí)會(huì)遇到新建一個(gè)窗口,填寫(xiě)某些信息后再刷新原窗口。比如在新窗口添加新管理員,點(diǎn)擊確定提交后再刷新原始窗口的管理員列表。聽(tīng)起來(lái)貌似是很簡(jiǎn)單,只要再調(diào)用一下綁定管理員列表的函數(shù)就可以了,但在新窗口調(diào)用那個(gè)函數(shù)是不行的,但是用傳遞委托的方法可以,代碼如下:

C# Winform刷新窗口步驟1

原始窗體:

  1. using System;  
  2.  
  3. using System.Collections.Generic;  
  4.  
  5. using System.ComponentModel;  
  6.  
  7. using System.Data;  
  8.  
  9. using System.Drawing;  
  10.  
  11. using System.Linq;  
  12.  
  13. using System.Text;  
  14.  
  15. using System.Windows.Forms;  
  16.  
  17. using PAT.DataAccess;  
  18.  
  19. using System.Collections;  
  20.  
  21.    
  22.  
  23. namespace PAT.WinForm  
  24.  
  25. {  
  26.  
  27.     public partial class RoleManage : Form  
  28.  
  29. {  
  30.  
  31. public delegate void UpdateComoboxAsyscHandler();//作為異步更新角色列表時(shí)用的委托,//***使用空參數(shù)列表,且要定義為//public  
  32.  
  33. //更新列表的函數(shù),即上面定義的委托要綁定的函數(shù)       
  34.  
  35.           private void UpdateComobox()  
  36.  
  37.         {  
  38.  
  39.             WinFormControlBuilder.Instance.BindRoles(comboBoxRoles);  
  40.  
  41.         }  
  42.  
  43.    
  44.  
  45.         private void buttonAddRole_Click(object sender, EventArgs e)  
  46.  
  47.         {  
  48.  
  49.               //AddRole是添加新角色的窗口,這里把剛寫(xiě)好的委托傳進(jìn)來(lái)  
  50.  
  51.             AddRole addRole = new AddRole(new UpdateComoboxAsyscHandler(UpdateComobox));  
  52.  
  53.             addRole.Show();  
  54.  
  55.     }  
  56.  
  57. }  
  58.  

C# Winform刷新窗口步驟2

新窗體:

  1. using System;  
  2.  
  3. using System.Collections.Generic;  
  4.  
  5. using System.ComponentModel;  
  6.  
  7. using System.Data;  
  8.  
  9. using System.Drawing;  
  10.  
  11. using System.Linq;  
  12.  
  13. using System.Text;  
  14.  
  15. using System.Windows.Forms;  
  16.  
  17. using PAT.DataAccess;  
  18.  
  19. using System.Threading;  
  20.  
  21.    
  22.  
  23. namespace PAT.WinForm  
  24.  
  25. {  
  26.  
  27.     public partial class AddRole : Form    {  
  28.  
  29.         public AddRole()  
  30.  
  31.         {  
  32.  
  33.             InitializeComponent();  
  34.  
  35.         }  
  36.  
  37.    
  38.  
  39.         private RoleManage.UpdateComoboxAsyscHandler UpdateComoboxAsyscHandler;  
  40.  
  41.         //寫(xiě)一個(gè)新的構(gòu)造函數(shù),參數(shù)是之前寫(xiě)好的委托  
  42.  
  43.         public AddRole(RoleManage.UpdateComoboxAsyscHandler _updateComoboxAsyscHandler)  
  44.  
  45.         {  
  46.  
  47.             InitializeComponent();  
  48.  
  49.             this.UpdateComoboxAsyscHandler = _updateComoboxAsyscHandler;//委托賦值  
  50.  
  51.         }  
  52.  
  53.    
  54.  
  55.         private void buttonSubmit_Click(object sender, EventArgs e)  
  56.  
  57.         {  
  58.  
  59.             //  
  60.  
  61.             //更新數(shù)據(jù)庫(kù)操作  
  62.  
  63.             //  
  64.  
  65.             Accunt_Role account_Role = new Accunt_Role();  
  66.  
  67.             account_Role.RoleName = textBoxRoleName.Text;  
  68.  
  69.             patDataContext.Accunt_Roles.InsertOnSubmit(account_Role);  
  70.  
  71.             patDataContext.SubmitChanges();  
  72.  
  73.             UpdateComoboxAsyscHandler();//調(diào)用委托,更新原列表  
  74.  
  75.             MessageBox.Show("添加角色成功!");  
  76.  
  77.             this.Dispose();//關(guān)閉窗口  
  78.  
  79.         }  
  80.  
  81.     }  
  82.  

 效果示例如下:

C# Winform刷新窗口效果示例

點(diǎn)擊確定后,在始窗口列表中顯示:

C# Winform刷新窗口列表中顯示

這樣就可以實(shí)現(xiàn)在新窗口添加新角色后,新窗口關(guān)閉,同時(shí)刷新原始窗口的角色列表。

至此,C# Winform刷新窗口的方法就討論完了。

【編輯推薦】

  1. C#代碼與#函數(shù)相互調(diào)用問(wèn)題集錦
  2. 如何使用泛型達(dá)到代碼重用的目的
  3. 線性鏈表測(cè)試方法簡(jiǎn)介
  4. 創(chuàng)建一個(gè)簡(jiǎn)單的線性鏈表
  5. C#事件模型的一個(gè)實(shí)例
責(zé)任編輯:book05 來(lái)源: csdn
相關(guān)推薦

2009-09-07 03:58:42

WinForm傳值

2025-02-10 10:52:34

WinForm窗口閃爍C#

2009-08-20 09:30:03

C#開(kāi)發(fā)WinForm

2009-08-20 10:24:52

C#開(kāi)發(fā)WinForm

2009-08-17 15:48:47

C# WinForm進(jìn)

2009-09-11 10:41:20

C# WinForm控

2009-08-11 14:16:00

Winform調(diào)用WEC#

2009-09-09 14:40:15

C# XML解析

2009-04-01 16:26:06

LabelWinFormC#

2009-10-10 14:54:44

treeView1控件

2009-09-01 10:35:59

C# WinForm控

2009-08-31 09:19:31

c#隱藏窗口

2009-09-01 09:46:51

C# FileStre

2009-09-09 13:57:28

C# XML解析

2009-08-18 10:47:40

C#枚舉類型

2009-09-01 10:28:38

C#追加文件

2009-08-26 12:14:44

C#打印設(shè)置

2009-08-31 18:17:32

C#接口編程

2009-09-07 06:31:32

C#窗體移動(dòng)

2009-09-09 13:18:10

C# TextBox滾C# TextBox
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)