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

C#實現(xiàn)只運行單個實例應用程序的方法(使用VB.Net的IsSingleInstance)

 更新時間:2014年07月03日 11:37:13   投稿:junjie  
這篇文章主要介紹了C#實現(xiàn)只運行單個實例應用程序的方法,本文使用的是VB.Net的IsSingleInstance方法實現(xiàn),優(yōu)于Mutex 和 Process 這兩種只運行單個應用程序?qū)嵗姆椒?需要的朋友可以參考下

從 <<Windows Forms 2.0 Programming, 2nd Edition>>   -  Single-Instance Applications 這一章中, 學到了調(diào)用 VB.Net 中的 IsSingleInstance, 為 C# WinForm 添加只運行應用程序的單個實例 ( Single Instance Application). 是個好方法!

該方法顯然從易用性上便捷與 Mutex 和 Process 這兩種只運行單個應用程序?qū)嵗姆椒?

Single Instance 概念:

從.NET 2.0起,提供了WindowsFormsApplicationBase類來簡化Windows應用程序編程,如果您是開發(fā)人員會感到感到奇怪,WindowsFormsApplicationBase類不在System.Windows.Forms 命名空間中而是屬于Microsoft.VisualBasic.ApplicationServices 命名空間,也許這是作為VB.NET開發(fā)人員的優(yōu)先好處吧。該類對應的程序集為Microsoft.VisualBasic.dll,不過該程序集包含在.NET框架中一起發(fā)布,如果要引用該程序集,在部署上不存在額外操作。

WindowsFormsApplicationBase類實現(xiàn)了類似于Application類的一些功能,不過該類還包含一些簡化Windows Forms應用程序開發(fā)的接口,下面來簡單了解一下。WindowsFormsApplicationBase類實現(xiàn)了對單實例應用程序的支持,通過設(shè)置IsSingleInstance 屬性為True以及重寫OnStartupNextInstance方法可以簡潔的實現(xiàn)。

實現(xiàn)

在 Program.cs - Main 方法中
1. 項目中引用VB.Net 的DLL – Microsoft.VisualBasic.DLL,
Program.cs:

復制代碼 代碼如下:
using Microsoft.VisualBasic.ApplicationServices;

2. 在Program.cs中增加一個類

Program.cs:

復制代碼 代碼如下:

public sealed class SingleInstanceApplication : WindowsFormsApplicationBase
{
    public SingleInstanceApplication()
    {
        base.IsSingleInstance = true;
        base.ShutdownStyle = ShutdownMode.AfterMainFormCloses;
    }

    protected override void OnCreateMainForm()
    {
        base.MainForm = new MainForm();
    }

    protected override void OnStartupNextInstance(StartupNextInstanceEventArgs e)
    {
        base.OnStartupNextInstance(e);
        base.MainForm.Activate();
    }
}

3. 修改原 Application.Run(new MainForm()); 方法為:

復制代碼 代碼如下:

//添加運行單進程程序
SingleInstanceApplication application = new SingleInstanceApplication();
application.Run(args);

SingleInstanceApplication類繼承自WindowsFormsApplicationBase,在構(gòu)造函數(shù)中設(shè)置為單實例模式,同時設(shè)置在主窗體關(guān)閉后退出應用程序。在繼承類中,OnCreateMainForm方法被重寫用來創(chuàng)建主窗體,如果要保證應用程序單一實例運行,還需要重寫OnStartupNextInstance方法,在該應用程序的下一個應用程序?qū)嵗龁訒r,OnStartupNextInstance方法會得到執(zhí)行,在上面的實現(xiàn)代碼中,調(diào)用基類方法同時激活主窗口。

相關(guān)文章

  • C#窗體通訊錄系統(tǒng)的示例代碼

    C#窗體通訊錄系統(tǒng)的示例代碼

    本文主要介紹了C#窗體通訊錄系統(tǒng)的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04
  • C#中File靜態(tài)類對文件的讀取寫入

    C#中File靜態(tài)類對文件的讀取寫入

    這篇文章介紹了C#中File靜態(tài)類對文件的讀取寫入,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • C#很簡單而又很經(jīng)典的一句代碼實例

    C#很簡單而又很經(jīng)典的一句代碼實例

    這篇文章主要給大家分享介紹了關(guān)于C#很簡單而又很經(jīng)典的一句代碼,文中通過示例代碼介紹的非常詳細,對大家學習或者使用C#具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-07-07
  • WinForm生成驗證碼圖片的方法

    WinForm生成驗證碼圖片的方法

    這篇文章主要介紹了WinForm生成驗證碼圖片的方法,涉及WinForm字符串及圖形操作的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • C#圖表算法之無向圖

    C#圖表算法之無向圖

    這篇文章介紹了C#圖表算法之無向圖,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • C#中4種深拷貝方法介紹

    C#中4種深拷貝方法介紹

    這篇文章主要介紹了C#中4種深拷貝方法介紹,本文講解了利用反射實現(xiàn)、利用xml序列化和反序列化實現(xiàn)、利用二進制序列化和反序列化實現(xiàn)、利用silverlight DataContractSerializer實現(xiàn),用于在silverlight 客戶端使用等4種方法,需要的朋友可以參考下
    2015-06-06
  • 輕松學習C#的正則表達式

    輕松學習C#的正則表達式

    輕松學習C#的正則表達式,對C#的正則表達式感興趣的朋友可以參考本篇文章,幫助大家更靈活的運用C#的正則表達式
    2015-11-11
  • C# 郵件發(fā)送和接收實現(xiàn)代碼

    C# 郵件發(fā)送和接收實現(xiàn)代碼

    這兩個方法很容易理解,只實現(xiàn)了最基本的功能,如果需要可以查看源代碼獲取更多信息。
    2009-07-07
  • C#使用SignalR實現(xiàn)與前端vue實時通信的示例代碼

    C#使用SignalR實現(xiàn)與前端vue實時通信的示例代碼

    SignalR 是 ASP.NET Core 的一個庫,它簡化了在應用程序中添加實時通信的過程,無論是聊天應用、實時游戲還是協(xié)作工具,SignalR 都能提供高效且易于實現(xiàn)的解決方案,本文給大家介紹了C#使用SignalR實現(xiàn)與前端vue實時通信的實現(xiàn),需要的朋友可以參考下
    2024-10-10
  • C#獲取視頻某一幀的縮略圖的方法

    C#獲取視頻某一幀的縮略圖的方法

    這篇文章主要介紹了C#獲取視頻某一幀的縮略圖的方法,涉及執(zhí)行CMD命令及針對視頻文件操作的技巧,具有一定的實用價值,需要的朋友可以參考下
    2014-11-11

最新評論

出国| 垣曲县| 肥乡县| 仙游县| 贵阳市| 万荣县| 武陟县| 墨竹工卡县| 石渠县| 奈曼旗| 昆山市| 金门县| 贡山| 石河子市| 常山县| 文昌市| 株洲县| 象州县| 田东县| 巴东县| 台南市| 澎湖县| 新田县| 威海市| 太和县| 曲阜市| 临朐县| 鄂托克前旗| 公安县| 扬中市| 阆中市| 平塘县| 麦盖提县| 大竹县| 公安县| 北京市| 凉山| 岳池县| 嘉鱼县| 马公市| 仙居县|