当前位置: 首页 > news >正文

做网站有什么js特效百度网页游戏排行榜

做网站有什么js特效,百度网页游戏排行榜,室内设计应该学什么专业,网络工程师证书报考条件C#默认的WinForm模板是不支持设置单实例的,也没有隔壁大哥VB.NET那样有个“生成单个实例应用程序”的勾选选项(VB某些时候要比C#更方便),实现单实例可以有多种方法: 检测同名进程:Process.GetProcessesByNa…

C#默认的WinForm模板是不支持设置单实例的,也没有隔壁大哥VB.NET那样有个“生成单个实例应用程序”的勾选选项(VB某些时候要比C#更方便),实现单实例可以有多种方法:

  • 检测同名进程:Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName),如果集合的Length > 1那就表明已有同名进程了,如果有需要还可以进一步检查该进程的路径;

  • 命名互斥锁:Mutex,网上介绍的很多都是这种方法;

  • 锁定文件:使用File.Create方法创建文件并在程序退出时释放,如果创建失败则表明已经有实例在运行;

  • VB.NET方法:WindowsFormsApplicationBase,个人认为该方法最完美,可以接收后续进程的启动参数,还可以弹出前序进程的主窗体。

WindowsFormsApplicationBase是一个Microsoft.VisualBasic.ApplicationServices命名空间下的类,是微软为VB.NET实现应用程序启动控制的类,其内部是以命名管道通信来实现的。既然是同一个爹的东西,C#拿过来用毫无违和感。Microsoft.VisualBasic和Microsoft.CSharp一样,都是.NET Framework中的一部分,不用担心会缺少运行环境。

WindowsFormsApplicationBase类的一些常用属性和方法:

  • 属性IsSingleInstance:设置当前进程是否为单实例进程,在构造方法中设置,如果是后续进程且为值true,构造方法结束后会给前序进程发送启动参数,然后就退出进程了,不会执行到下面的OnStartup;

  • 方法OnStartup:首次启动后运行,返回false就会退出进程,后续进程永远不会运行到该方法;

  • 方法OnStartupNextInstance:后续进程启动后的重写方法,前序进程会接收到后续进程的启动参数,弹出主窗体等;

  • 方法OnCreateMainForm:创建主窗体的重写方法,必须指定主窗体。

创建一个单实例应用程序并响应后续进程参数的大概过程:

  • 创建一个项目名称为“SingleInstanceSample”的Windows窗体项目;

  • 添加引用“Microsoft.VisualBasic”;

  • 重命名“Form1”为“MainForm”;

  • 添加类“ApplicationBase.cs”,继承自“WindowsFormsApplicationBase”;

  • 修改“Program.cs”,从“ApplicationBase”启动。

各个类的代码如下:

  • Program.cs 

using System;
using System.Windows.Forms;namespace SingleInstanceSample
{internal static class Program{[STAThread]static void Main(string[] args){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);var app = new ApplicationBase();app.Run(args);}}
}

  • ApplicationBase.cs

using Microsoft.VisualBasic.ApplicationServices;
using System.IO;namespace SingleInstanceSample
{internal class ApplicationBase : WindowsFormsApplicationBase{public ApplicationBase() : base(AuthenticationMode.Windows){//指示进程为单进程:IsSingleInstancebase.IsSingleInstance = true;base.SaveMySettingsOnExit = true;base.ShutdownStyle = ShutdownMode.AfterMainFormCloses;}/// <summary>/// 首次启动后的重写方法,返回false就会退出进程,/// 比如可以显示登录窗体,登录失败返回false就不会运行到OnCreateMainForm/// </summary>protected override bool OnStartup(StartupEventArgs eventArgs){base.OnStartup(eventArgs);//处理当前进程的启动参数return true;}/// <summary>/// 后续进程启动后的重写方法/// </summary>protected override void OnStartupNextInstance(StartupNextInstanceEventArgs eventArgs){base.OnStartupNextInstance(eventArgs);//处理后续进程的启动参数}/// <summary>/// 指定主窗体,/// 除非OnStartup返回false,否则必须指定主窗体/// </summary>protected override void OnCreateMainForm(){base.MainForm = new MainForm();}}
}

文章转载自:【一路向东】

原文链接:https://www.cnblogs.com/yiluxiangdong/p/18288392

体验地址:引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构

http://www.mmbaike.com/news/87194.html

相关文章:

  • 短链上海关键词优化外包
  • 上海网站制作找缘魁网址之家
  • 网站空间购买多钱口红的推广软文
  • 网站建设要什么知识厦门做网站公司有哪些
  • 手机响应式网站开发千锋教育官方网
  • 企业活动网站创意案例如何进行搜索引擎优化
  • 企业网站哪家公司好采集站seo提高收录
  • 政府网站开发计划书seo高级优化方法
  • html网站开发图片素材专业的seo外包公司
  • 搜索推广网站哪家做的最好杭州优化公司哪家好
  • win10做的网站其他电脑访问不了网络营销成功案例有哪些2022
  • 做业务员要认识什么批发网站seo的培训班
  • 平台建设网站seo接单平台
  • wordpress添加单页青岛关键词优化报价
  • 东西湖网站建设灰色关键词排名优化
  • 企业做网站哪家公司好推广宣传方式有哪些
  • 浠水做网站的企业邮箱如何申请注册
  • 查看网站有没有备案淘宝店铺转让价格表
  • 西安竞价托管代运营福州百度快照优化
  • 故事网站模版推广标题怎么写
  • 某学校网站的安全建设方案东莞百度推广排名优化
  • 网站设置怎么清除东莞网络优化服务商
  • wordpress禁止访问模版页面seo效果检测步骤
  • 网站的默认首页百度推广优化师是什么
  • 湖北分行建设银行网站发稿平台
  • 不会建网站蜂蜜网络营销推广方案
  • 雅安公司做网站百度投诉电话人工服务总部
  • 开发商排名抖音seo
  • 北京高端网站建设工作直播发布会
  • wordpress免费托管百度网站排名seo