溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C# Winform如何刷新窗口

發(fā)布時(shí)間:2021-12-01 11:12:59 來(lái)源:億速云 閱讀:4562 作者:小新 欄目:編程語(yǔ)言

這篇文章給大家分享的是有關(guān)C# Winform如何刷新窗口的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

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

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();//作為異步更新角色列表時(shí)用的委托,//***使用空參數(shù)列表,且要定義為//public   //更新列表的函數(shù),即上面定義的委托要綁定的函數(shù)                  private void UpdateComobox()           {               WinFormControlBuilder.Instance.BindRoles(comboBoxRoles);           }               private void buttonAddRole_Click(object sender, EventArgs e)           {                 //AddRole是添加新角色的窗口,這里把剛寫(xiě)好的委托傳進(jìn)來(lái)               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;           //寫(xiě)一個(gè)新的構(gòu)造函數(shù),參數(shù)是之前寫(xiě)好的委托           public AddRole(RoleManage.UpdateComoboxAsyscHandler _updateComoboxAsyscHandler)           {               InitializeComponent();               this.UpdateComoboxAsyscHandler = _updateComoboxAsyscHandler;//委托賦值           }               private void buttonSubmit_Click(object sender, EventArgs e)           {               //               //更新數(shù)據(jù)庫(kù)操作               //               Accunt_Role account_Role = new Accunt_Role();               account_Role.RoleName = textBoxRoleName.Text;               patDataContext.Accunt_Roles.InsertOnSubmit(account_Role);               patDataContext.SubmitChanges();               UpdateComoboxAsyscHandler();//調(diào)用委托,更新原列表               MessageBox.Show("添加角色成功!");               this.Dispose();//關(guān)閉窗口           }       }   }

效果示例如下:

C# Winform如何刷新窗口

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

C# Winform如何刷新窗口

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

感謝各位的閱讀!關(guān)于“C# Winform如何刷新窗口”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI