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

.net 接单网站有哪些成品网站w灬源码伊甸3m8u

.net 接单网站有哪些,成品网站w灬源码伊甸3m8u,页面模板在哪,wordpress交互式地图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.yayakq.cn/news/820746/

相关文章:

  • 网站正在建设中英文表述江苏省建设厅的官方网站
  • 哪个cms做企业网站好wordpress 查询 插件
  • 汕头手机建站模板创造网站需要多少钱
  • 东莞公司网站制作公司湖南长沙怎么注册工作室
  • 推荐晚上用的网站外贸网站建设有什么需要注意的吗
  • 网站访问速度优化阿里巴巴招聘
  • 建设信用卡网站换积分wordpress安装怎么填
  • 深圳微信网站制作阿里巴巴做网站接单几率
  • wordpress做手机网站什么网站能免费做推广
  • 成都高端企业网站建设求网站资源懂的2021
  • 龙海网站建设哪家好三星网上商城app下载
  • 网站推广优化流程软文300字案例
  • 网站界面切片做程序wordpress当前文章标题
  • php 深圳 电子商务网站开发wap网站开发自适应手机屏幕开源包
  • 广东网站建设联系公众号外链网站怎么做
  • 赤峰微信网站建设WordPress外链自动转内链
  • 网站的后台一般用什么做的百度 特定网站搜索
  • 深圳 购物网站网站案例分析
  • 网站推广费用一般多少钱佳木斯网站建设公司
  • 如何做彩票网站的教程合网站建设
  • 上海自助建站 上海网站建设哈尔滨大型网站设计公司
  • 成都网站建设 公司室内装修设计自学教材
  • 制作网站低价紧固件做网站有效果吗
  • php众筹网站程序源码万网域名注册官网中文域名
  • 英国设计网站dz比wordpress速度快
  • 京东方软件开发工程师待遇seo顾问培训
  • 重庆做网站做得好的公司2021网页游戏
  • 网站建设行业赚钱么网站建设项目费用报价
  • 重庆响应式网站平台前几年做那些网站致富
  • 河北网站建设案例网站维护 html