六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 282|回复: 0

通过 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase 实现 WPF

[复制链接]

升级  96.67%

61

主题

61

主题

61

主题

秀才

Rank: 2

积分
195
 楼主| 发表于 2013-1-3 15:36:50 | 显示全部楼层 |阅读模式
<div id="cnblogs_post_body">WPF 单例启动的例子,记一下。
参考 WPF Single Instance workaround

关键代码:
<div class="cnblogs_code">namespace 你的命名空间{    public class Startup    {        [STAThread]        public static void Main(string[] args)        {            SingleInstanceApplicationWrapper wrapper = new SingleInstanceApplicationWrapper();            wrapper.Run(args);        }    }     public class SingleInstanceApplicationWrapper :        Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase    {        private App app; // 这才是真正的WPF Application         public SingleInstanceApplicationWrapper()        {            this.IsSingleInstance = true;        }         // 第一次打开调这个方法        protected override bool OnStartup(            Microsoft.VisualBasic.ApplicationServices.StartupEventArgs e)        {            app = new App();            app.Run();             return false;        }         // 再次打开调这个方法        protected override void OnStartupNextInstance(            Microsoft.VisualBasic.ApplicationServices.StartupNextInstanceEventArgs e)        {            // 当用户试图再次打开这个程序的时候            MessageBox.Show("您正在运行该程序");        }    }     /// <summary>    /// Interaction logic for App.xaml    /// </summary>    public partial class App : Application    {    }}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表