最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#?Winform設(shè)置登錄跳轉(zhuǎn)的四種方式總結(jié)

 更新時(shí)間:2026年02月03日 08:38:30   作者:張謹(jǐn)?shù)W  
這篇文章主要為大家詳細(xì)介紹了C# Winform設(shè)置登錄跳轉(zhuǎn)的四種方式,所有代碼可直接復(fù)制到項(xiàng)目中使用,同時(shí)說明各方式的核心差異和注意事項(xiàng)

整理了4 種實(shí)用且完整的登錄跳轉(zhuǎn)方式(含基礎(chǔ)版、優(yōu)化版、MDI 版,補(bǔ)充了子線程安全跳轉(zhuǎn)),每種方式都包含前置窗體創(chuàng)建、完整代碼、程序入口、運(yùn)行效果、適用場景,所有代碼可直接復(fù)制到項(xiàng)目中使用,同時(shí)說明各方式的核心差異和注意事項(xiàng)。

通用前置準(zhǔn)備

先在 WinForm 項(xiàng)目中創(chuàng)建兩個(gè)基礎(chǔ)窗體,統(tǒng)一命名方便復(fù)用:

  • 登錄窗體:命名FrmLogin,添加 2 個(gè)TextBoxtxtAccount賬號、txtPwd密碼)、1 個(gè)ButtonbtnLogin登錄),可按需添加Label提示;
  • 主窗體:命名FrmMain,作為登錄成功的目標(biāo)窗體,可簡單添加一個(gè)Label顯示登錄信息(如lblLoginUser)。

所有方式的登錄驗(yàn)證基礎(chǔ)邏輯一致(實(shí)際項(xiàng)目可替換為數(shù)據(jù)庫 / 配置文件驗(yàn)證),下文僅替換登錄成功后的跳轉(zhuǎn)代碼即可。

方式 1:隱藏登錄窗 + 顯示主窗體(最常用,推薦)

核心邏輯

登錄成功后隱藏登錄窗體(Hide()),實(shí)例化主窗體并顯示,同時(shí)給主窗體綁定FormClosed事件 —— 主窗體關(guān)閉時(shí)自動(dòng)關(guān)閉登錄窗體,保證程序正常退出(避免登錄窗后臺駐留)。

完整實(shí)現(xiàn)代碼

1. 登錄窗體(FrmLogin)- 登錄按鈕點(diǎn)擊事件

using System;
using System.Windows.Forms;

namespace WinFormLoginJump
{
    public partial class FrmLogin : Form
    {
        public FrmLogin()
        {
            InitializeComponent();
        }

        // 登錄按鈕點(diǎn)擊事件(雙擊按鈕自動(dòng)生成)
        private void btnLogin_Click(object sender, EventArgs e)
        {
            // 1. 獲取并清洗輸入的賬號密碼
            string account = txtAccount.Text.Trim();
            string pwd = txtPwd.Text.Trim();

            // 2. 簡單登錄驗(yàn)證(實(shí)際項(xiàng)目替換為數(shù)據(jù)庫/Redis/配置文件驗(yàn)證)
            if (string.IsNullOrEmpty(account) || string.IsNullOrEmpty(pwd))
            {
                MessageBox.Show("賬號和密碼不能為空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            if (account == "admin" && pwd == "123456")
            {
                // 3. 登錄成功,執(zhí)行核心跳轉(zhuǎn)邏輯
                FrmMain mainFrm = new FrmMain();
                // 給主窗體傳值:顯示當(dāng)前登錄賬號(實(shí)用拓展)
                mainFrm.LoginUser = account;
                // 綁定主窗體關(guān)閉事件:主窗體關(guān)閉則關(guān)閉登錄窗,程序退出
                mainFrm.FormClosed += (s, args) => { this.Close(); };
                // 顯示主窗體
                mainFrm.Show();
                // 隱藏登錄窗體
                this.Hide();
            }
            else
            {
                MessageBox.Show("賬號或密碼錯(cuò)誤!", "錯(cuò)誤", MessageBoxButtons.OK, MessageBoxIcon.Error);
                // 清空密碼框,聚焦賬號框(優(yōu)化體驗(yàn))
                txtPwd.Clear();
                txtAccount.Focus();
            }
        }
    }
}

2. 主窗體(FrmMain)- 接收登錄賬號并顯示

using System.Windows.Forms;

namespace WinFormLoginJump
{
    public partial class FrmMain : Form
    {
        // 定義公共屬性,接收登錄窗體傳遞的賬號
        public string LoginUser { get; set; }

        public FrmMain()
        {
            InitializeComponent();
        }

        // 主窗體加載事件(雙擊窗體空白處/屬性窗口添加)
        private void FrmMain_Load(object sender, EventArgs e)
        {
            // 顯示當(dāng)前登錄用戶
            lblLoginUser.Text = $"當(dāng)前登錄:{LoginUser},歡迎使用系統(tǒng)!";
        }
    }
}

3. 程序入口(Program.cs)- 默認(rèn)無需修改

using System;
using System.Windows.Forms;

namespace WinFormLoginJump
{
    static class Program
    {
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            // 程序啟動(dòng)先顯示登錄窗體,作為默認(rèn)入口
            Application.Run(new FrmLogin());
        }
    }
}

運(yùn)行效果

  • 程序啟動(dòng)→顯示 FrmLogin,輸入賬號密碼;
  • 驗(yàn)證成功→FrmLogin 隱藏,F(xiàn)rmMain 顯示并展示登錄賬號;
  • 關(guān)閉 FrmMain→自動(dòng)關(guān)閉隱藏的 FrmLogin,整個(gè)程序退出。

適用場景 & 優(yōu)缺點(diǎn)

  • 適用:90% 以上的普通 WinForm 單窗體項(xiàng)目(如小型管理系統(tǒng)、工具類程序);
  • 優(yōu)點(diǎn):邏輯簡單、入口清晰,主窗體關(guān)閉后程序正常退出,無內(nèi)存駐留,支持后續(xù)重新顯示登錄窗;
  • 缺點(diǎn):僅適用于單主窗體架構(gòu),不支持 MDI 多子窗體場景。

方式 2:關(guān)閉登錄窗 + 重新啟動(dòng)主窗體(釋放登錄窗資源)

核心邏輯

登錄成功后直接關(guān)閉登錄窗體this.Close()),通過Application.Run(new FrmMain())重新啟動(dòng)程序的消息循環(huán),將主窗體作為程序新入口,登錄窗體資源被完全釋放。

完整實(shí)現(xiàn)代碼

1. 登錄窗體(FrmLogin)- 僅修改登錄成功后的跳轉(zhuǎn)代碼

其他驗(yàn)證邏輯和方式 1 一致,僅替換登錄成功的代碼塊:

// 登錄成功,核心跳轉(zhuǎn)邏輯(替換方式1的對應(yīng)代碼)
FrmMain mainFrm = new FrmMain();
mainFrm.LoginUser = account;
// 關(guān)閉登錄窗體(退出原消息循環(huán),釋放登錄窗資源)
this.Close();
// 重新啟動(dòng)消息循環(huán),將主窗體作為程序新入口
Application.Run(mainFrm);

2. 主窗體(FrmMain)& 程序入口(Program.cs)

和方式 1 完全一致,無需修改。

運(yùn)行效果

  • 程序啟動(dòng)→顯示 FrmLogin,驗(yàn)證成功后FrmLogin 直接關(guān)閉;
  • 立即打開 FrmMain,關(guān)閉 FrmMain→程序直接退出。

關(guān)鍵注意點(diǎn)

如果需要禁止用戶通過右上角叉號關(guān)閉登錄窗(強(qiáng)制通過登錄按鈕操作),可在 FrmLogin 中添加FormClosing事件:

// FrmLogin的窗體關(guān)閉事件(屬性窗口找到FormClosing雙擊)
private void FrmLogin_FormClosing(object sender, FormClosingEventArgs e)
{
    // 僅禁止用戶手動(dòng)點(diǎn)擊叉號關(guān)閉,其他關(guān)閉方式(如代碼this.Close())不影響
    if (e.CloseReason == CloseReason.UserClosing)
    {
        e.Cancel = true; // 取消關(guān)閉操作
        MessageBox.Show("請通過登錄按鈕完成系統(tǒng)進(jìn)入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
}

適用場景 & 優(yōu)缺點(diǎn)

  • 適用:普通單窗體項(xiàng)目、需要完全釋放登錄窗資源的場景(如登錄窗包含大量資源、無需重新顯示登錄窗);
  • 優(yōu)點(diǎn):登錄窗資源徹底釋放,主窗體是獨(dú)立入口,無后臺駐留;
  • 缺點(diǎn):登錄窗關(guān)閉后無法再顯示,不支持 MDI 架構(gòu)。

方式 3:MDI 多窗體架構(gòu)的登錄跳轉(zhuǎn)(企業(yè)級項(xiàng)目)

核心場景

適用于多模塊企業(yè)級項(xiàng)目(如 ERP、管理系統(tǒng)),存在一個(gè)MDI 主容器窗體,所有功能子窗體都在主窗體內(nèi)顯示,需先登錄再打開 MDI 主窗體。

核心前提

MDI 主窗體FrmMain需設(shè)置為MDI 容器IsMdiContainer = true),一個(gè)程序只能有一個(gè) MDI 容器,所有子窗體需指定MdiParent為 MDI 主窗體。

完整實(shí)現(xiàn)代碼

1. 新增子窗體(FrmHome)- 作為 MDI 主窗體的首頁

右鍵項(xiàng)目→添加→Windows 窗體→命名FrmHome,簡單添加一個(gè)Label顯示 “系統(tǒng)首頁” 即可。

2. MDI 主窗體(FrmMain)- 設(shè)置為 MDI 容器

using System.Windows.Forms;

namespace WinFormLoginJump
{
    public partial class FrmMain : Form
    {
        public string LoginUser { get; set; }
        public FrmMain()
        {
            InitializeComponent();
            // 關(guān)鍵:設(shè)置為MDI容器(也可在屬性窗口直接設(shè)置IsMdiContainer = true)
            this.IsMdiContainer = true;
            // 優(yōu)化體驗(yàn):主窗體最大化、設(shè)置標(biāo)題
            this.WindowState = FormWindowState.Maximized;
            this.Text = "系統(tǒng)管理平臺-MDI主窗體";
        }

        private void FrmMain_Load(object sender, EventArgs e)
        {
            lblLoginUser.Text = $"當(dāng)前登錄:{LoginUser} | MDI系統(tǒng)管理平臺";
            // 自動(dòng)加載首頁子窗體(登錄成功后直接顯示)
            LoadHomeFrm();
        }

        // 封裝加載首頁子窗體的方法
        public void LoadHomeFrm()
        {
            FrmHome homeFrm = new FrmHome();
            homeFrm.MdiParent = this; // 關(guān)鍵:指定父窗體為MDI主窗體
            homeFrm.Text = "系統(tǒng)首頁";
            homeFrm.Show();
        }
    }
}

3. 登錄窗體(FrmLogin)- MDI 架構(gòu)跳轉(zhuǎn)代碼

使用隱藏登錄窗的邏輯(推薦,方便后續(xù)重新登錄),代碼和方式 1 基本一致,無額外修改:

// 登錄成功后的跳轉(zhuǎn)代碼(和方式1完全一致)
FrmMain mdiMain = new FrmMain();
mdiMain.LoginUser = account;
mdiMain.FormClosed += (s, args) => { this.Close(); };
mdiMain.Show();
this.Hide();

4. 程序入口(Program.cs)

和方式 1 完全一致,無需修改。

運(yùn)行效果

  • 程序啟動(dòng)→FrmLogin 驗(yàn)證成功→隱藏登錄窗,打開 MDI 主窗體FrmMain
  • MDI 主窗體自動(dòng)加載首頁子窗體FrmHome,子窗體在主窗體內(nèi)顯示,無法拖出主窗體;
  • 關(guān)閉 MDI 主窗體→自動(dòng)關(guān)閉登錄窗,程序退出。

關(guān)鍵注意點(diǎn)

  • MDI 容器窗體不能設(shè)置為子窗體,且一個(gè)程序只能有一個(gè) MDI 容器;
  • 子窗體若需重新打開,建議先判斷是否已打開,避免重復(fù)創(chuàng)建(可封裝通用方法);
  • 可通過this.MdiChildren獲取 MDI 主窗體內(nèi)所有打開的子窗體,實(shí)現(xiàn) “關(guān)閉所有子窗體” 等功能。

適用場景 & 優(yōu)缺點(diǎn)

  • 適用:企業(yè)級多模塊 WinForm 項(xiàng)目(MDI 架構(gòu)、多子窗體切換);
  • 優(yōu)點(diǎn):適配 MDI 核心特性,子窗體管理規(guī)范,支持后續(xù)重新顯示登錄窗;
  • 缺點(diǎn):比普通單窗體多一點(diǎn)配置,小項(xiàng)目無需使用。

方式 4:子線程驗(yàn)證 + 跨線程安全跳轉(zhuǎn)(優(yōu)化體驗(yàn))

核心場景

實(shí)際項(xiàng)目中,登錄驗(yàn)證可能涉及數(shù)據(jù)庫查詢、網(wǎng)絡(luò)請求(耗時(shí)操作),若在主線程執(zhí)行會導(dǎo)致登錄窗 “卡死”,因此需要在子線程中做驗(yàn)證,驗(yàn)證成功后跨線程安全跳轉(zhuǎn)到主窗體(WinForm 控件僅能在主線程操作)。

完整實(shí)現(xiàn)代碼

1. 登錄窗體(FrmLogin)- 子線程驗(yàn)證 + 跨線程跳轉(zhuǎn)

需引入System.Threading,核心是用Invoke實(shí)現(xiàn)跨線程操作控件 / 跳轉(zhuǎn):

using System;
using System.Windows.Forms;
using System.Threading;

namespace WinFormLoginJump
{
    public partial class FrmLogin : Form
    {
        public FrmLogin()
        {
            InitializeComponent();
        }

        private void btnLogin_Click(object sender, EventArgs e)
        {
            string account = txtAccount.Text.Trim();
            string pwd = txtPwd.Text.Trim();

            if (string.IsNullOrEmpty(account) || string.IsNullOrEmpty(pwd))
            {
                MessageBox.Show("賬號密碼不能為空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            // 禁用登錄按鈕,防止重復(fù)點(diǎn)擊(優(yōu)化體驗(yàn))
            btnLogin.Enabled = false;
            btnLogin.Text = "驗(yàn)證中...";

            // 開啟子線程執(zhí)行耗時(shí)的登錄驗(yàn)證
            Thread thread = new Thread(() =>
            {
                // 模擬數(shù)據(jù)庫/網(wǎng)絡(luò)請求(耗時(shí)2秒)
                Thread.Sleep(2000);
                bool isLoginSuccess = (account == "admin" && pwd == "123456");

                // 跨線程操作:WinForm控件只能在主線程修改,需用Invoke
                this.Invoke(new Action(() =>
                {
                    // 恢復(fù)登錄按鈕狀態(tài)
                    btnLogin.Enabled = true;
                    btnLogin.Text = "登錄";

                    if (isLoginSuccess)
                    {
                        // 登錄成功,執(zhí)行方式1的跳轉(zhuǎn)邏輯(隱藏登錄窗+顯示主窗體)
                        FrmMain mainFrm = new FrmMain();
                        mainFrm.LoginUser = account;
                        mainFrm.FormClosed += (s, args) => { this.Close(); };
                        mainFrm.Show();
                        this.Hide();
                    }
                    else
                    {
                        MessageBox.Show("賬號或密碼錯(cuò)誤!", "錯(cuò)誤", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        txtPwd.Clear();
                        txtAccount.Focus();
                    }
                }));
            });
            // 啟動(dòng)子線程,設(shè)置為后臺線程(程序退出時(shí)自動(dòng)銷毀)
            thread.IsBackground = true;
            thread.Start();
        }
    }
}

2. 主窗體(FrmMain)& 程序入口(Program.cs)

和方式 1 完全一致,無需修改

運(yùn)行效果

  • 點(diǎn)擊登錄按鈕→按鈕禁用并顯示 “驗(yàn)證中...”,登錄窗無卡頓;
  • 2 秒后驗(yàn)證完成→恢復(fù)按鈕狀態(tài),成功則跳轉(zhuǎn)主窗體,失敗則提示錯(cuò)誤;
  • 后續(xù)主窗體關(guān)閉邏輯和方式 1 一致。

核心知識點(diǎn)

  • WinForm 是單線程控件模型,所有控件的創(chuàng)建、修改、顯示必須在主線程(UI 線程) 執(zhí)行;
  • 子線程中需通過Control.Invoke()/Control.BeginInvoke()實(shí)現(xiàn)跨線程安全操作 UI
  • 耗時(shí)操作(數(shù)據(jù)庫、網(wǎng)絡(luò)、文件讀寫)必須放在子線程,避免 UI 線程阻塞。

適用場景 & 優(yōu)缺點(diǎn)

  • 適用:所有包含耗時(shí)登錄驗(yàn)證的 WinForm 項(xiàng)目(普通單窗體 / MDI 架構(gòu)均可);
  • 優(yōu)點(diǎn):解決 UI 卡頓問題,提升用戶體驗(yàn),符合 WinForm 線程安全規(guī)范;
  • 缺點(diǎn):比普通跳轉(zhuǎn)多一點(diǎn)線程代碼,簡單驗(yàn)證場景無需使用。

拓展:登錄狀態(tài)的全局保存(實(shí)用必備)

登錄成功后,主窗體 / 子窗體通常需要全局獲取用戶信息 / 登錄狀態(tài)(如權(quán)限驗(yàn)證、顯示賬號),推薦 2 種輕量且實(shí)用的全局保存方式:

方式 1:靜態(tài)類(最推薦,輕量靈活)

右鍵項(xiàng)目→添加→類→命名GlobalInfo,定義靜態(tài)屬性保存全局信息:

namespace WinFormLoginJump
{
    // 全局信息靜態(tài)類,保存登錄狀態(tài)、用戶信息
    public static class GlobalInfo
    {
        // 當(dāng)前登錄用戶賬號
        public static string LoginAccount { get; set; }
        // 當(dāng)前登錄用戶姓名
        public static string LoginName { get; set; }
        // 用戶角色(用于權(quán)限驗(yàn)證)
        public static string UserRole { get; set; }
        // 登錄狀態(tài)
        public static bool IsLogin { get; set; } = false;
    }
}

登錄成功時(shí)賦值(FrmLogin 中):

// 登錄成功后給全局靜態(tài)類賦值
GlobalInfo.LoginAccount = account;
GlobalInfo.LoginName = "系統(tǒng)管理員";
GlobalInfo.UserRole = "Admin";
GlobalInfo.IsLogin = true;

任意窗體中獲取(如 FrmMain、FrmHome):

// 直接通過類名訪問,無需實(shí)例化
if (GlobalInfo.IsLogin && GlobalInfo.UserRole == "Admin")
{
    lblTip.Text = $"歡迎{GlobalInfo.LoginName}(超級管理員)";
}

方式 2:窗體構(gòu)造函數(shù)傳參(簡單場景)

適用于僅主窗體需要用戶信息的簡單場景,如方式 1 中通過mainFrm.LoginUser = account傳參,適合輕量需求。

總結(jié)

4 種登錄跳轉(zhuǎn)方式各有適用場景,核心選擇原則:

  • 普通單窗體項(xiàng)目:優(yōu)先選擇方式 1(隱藏登錄窗),邏輯簡單、體驗(yàn)好,是 WinForm 最常用的方式;
  • 需要釋放登錄窗資源:選擇方式 2(關(guān)閉登錄窗 + 重新啟動(dòng)主窗體)
  • 企業(yè)級 MDI 多窗體項(xiàng)目:選擇方式 3(MDI 架構(gòu)適配),基于方式 1 的隱藏邏輯,適配多子窗體管理;
  • 包含耗時(shí)登錄驗(yàn)證:選擇方式 4(子線程 + 跨線程跳轉(zhuǎn)),解決 UI 卡頓,符合線程安全規(guī)范。

所有方式的代碼均可直接復(fù)制復(fù)用,僅需根據(jù)實(shí)際項(xiàng)目修改登錄驗(yàn)證邏輯(如替換為數(shù)據(jù)庫查詢)和窗體控件名稱即可。

到此這篇關(guān)于C# Winform設(shè)置登錄跳轉(zhuǎn)的四種方式總結(jié)的文章就介紹到這了,更多相關(guān)C#登錄跳轉(zhuǎn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C# 遞歸算法詳解

    C# 遞歸算法詳解

    什么是遞歸函數(shù)/方法?任何一個(gè)方法既可以調(diào)用其他方法也可以調(diào)用自己,而當(dāng)這個(gè)方法調(diào)用自己時(shí),我們就叫它遞歸函數(shù)或遞歸算法,接下來詳細(xì)介紹需要了解的朋友可以參考下
    2021-11-11
  • C#如何給新建的winform程序添加資源文件夾Resources

    C#如何給新建的winform程序添加資源文件夾Resources

    這篇文章主要介紹了C#如何給新建的winform程序添加資源文件夾Resources,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 使用C#代碼在Word文檔中添加或刪除可編輯區(qū)域

    使用C#代碼在Word文檔中添加或刪除可編輯區(qū)域

    在 Word 文檔中添加可編輯區(qū)域的功能,可以幫助用戶指定某些部分供他人編輯,同時(shí)保護(hù)文檔的其他部分不被意外修改,本文將介紹如何在 C# 項(xiàng)目中使用 Spire.Doc for .NET 在 Word 文檔中添加或刪除可編輯區(qū)域,需要的朋友可以參考下
    2025-11-11
  • 在C# .NET Core中繪制Chart圖表并導(dǎo)出到PDF的實(shí)現(xiàn)方法

    在C# .NET Core中繪制Chart圖表并導(dǎo)出到PDF的實(shí)現(xiàn)方法

    正好最近的項(xiàng)目需要在后端繪制Chart圖標(biāo)并進(jìn)行導(dǎo)出,查閱相關(guān)資料后想著記錄以下,本文將詳細(xì)介紹在.NET Core環(huán)境中如何繪制Chart圖表并將其導(dǎo)出到PDF文檔中,并分析這種實(shí)現(xiàn)方式的技術(shù)價(jià)值和應(yīng)用場景,需要的朋友可以參考下
    2025-10-10
  • C#?Winform實(shí)現(xiàn)圓角無鋸齒按鈕

    C#?Winform實(shí)現(xiàn)圓角無鋸齒按鈕

    這篇文章主要介紹了C#?Winform實(shí)現(xiàn)圓角無鋸齒按鈕,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下
    2022-08-08
  • Unity實(shí)現(xiàn)單機(jī)游戲每日簽到系統(tǒng)

    Unity實(shí)現(xiàn)單機(jī)游戲每日簽到系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)單機(jī)游戲每日簽到系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • C#算法設(shè)計(jì)與分析詳解

    C#算法設(shè)計(jì)與分析詳解

    本文詳細(xì)講解了C#的算法設(shè)計(jì)與分析,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • 二叉樹的遍歷算法(詳細(xì)示例分析)

    二叉樹的遍歷算法(詳細(xì)示例分析)

    以下代碼是對二叉樹的遍歷算法進(jìn)行了分析介紹,需要的朋友可以參考下
    2013-05-05
  • C#在WinForm中使用WebKit傳遞js對象實(shí)現(xiàn)與網(wǎng)頁交互的方法

    C#在WinForm中使用WebKit傳遞js對象實(shí)現(xiàn)與網(wǎng)頁交互的方法

    這篇文章主要介紹了C#在WinForm中使用WebKit傳遞js對象實(shí)現(xiàn)與網(wǎng)頁交互的方法,涉及針對WebBroswer控件及WebKit控件的相關(guān)使用技巧,需要的朋友可以參考下
    2016-03-03
  • 深入了解c# 設(shè)計(jì)模式之簡單工廠模式

    深入了解c# 設(shè)計(jì)模式之簡單工廠模式

    這篇文章主要介紹了c# 設(shè)計(jì)模式之簡單工廠模式的的相關(guān)資料,文中代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06

最新評論

东台市| 永善县| 封开县| 灌阳县| 鸡东县| 山丹县| 凌海市| 寿宁县| 瑞昌市| 桂阳县| 镇平县| 民乐县| 固阳县| 北票市| 福鼎市| 东乌珠穆沁旗| 台江县| 环江| 普兰县| 洛南县| 武威市| 方正县| 固安县| 平昌县| 蒲江县| 和龙市| 灵丘县| 镇康县| 永平县| 布拖县| 新余市| 无锡市| 阳西县| 长泰县| 青铜峡市| 张家港市| 金山区| 文水县| 专栏| 石景山区| 南昌市|