• winform总结5> winform程序开发注意事项


    1.全局异常捕获

    Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
    //处理UI线程异常   
    Application.ThreadException += Application_ThreadException;
    //处理非UI线程异常   
    AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
    
    private static void Application_ThreadException(object sender, ThreadExceptionEventArgs e)
      {
                var ex = e.Exception;
                if (ex != null)
                {
                    LogHelper.Log(ex);
                }
    
                MessageBox.Show("系统出现未知异常,请重启系统!");
            }
    
            private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
            {
                var ex = e.ExceptionObject as Exception;
                if (ex != null)
                {
                    LogHelper.Log(ex);
                }
    
                MessageBox.Show("系统出现未知异常,请重启系统!");
            }

    单实例启动:

     var ProcessName = Process.GetCurrentProcess().ProcessName;
     if (!(Process.GetProcessesByName(ProcessName)).GetUpperBound(0) > 0)
     {
           Application.run(new MainForm());
     }
    bool Running;
    using (System.Threading.Mutex mutex = new System.Threading.Mutex(true, Application.ProductName, out Running))
    {
      if (Running)
      {
          Application.Run(new MainForm());
      }
    }

    自动启动

     var reg = Registry.LocalMachine.OpenSubKey(@"SOFTWAREMicrosoftWindowsCurrentVersionRun", true);
    if (reg == null)
    {
        reg = Registry.LocalMachine.CreateSubKey(@"SOFTWAREMicrosoftWindowsCurrentVersionRun");
    }
    reg.SetValue("自动启动程序名称","自动启动程序路径");//在注册表中添加一项就可以做到自动启动

     内存使用量限制:

    x86最大使用量2G[最大4G,系统保留1G,出于商业目的个人用户只可以使用2G],除去代码占用的空间实际的程序运行内存最大只能支持到1.4G-1.5G之间,实际测试的值,再大就会内存溢出。

    x64编译的最大使用内存最大可以理论可以打到16TB,也就是说可以满足大多数的程序设计要求。来源网址:http://www.360doc.com/content/15/0617/16/6075898_478777201.shtml 

    这一点对于有大量的数据操作的情况,非常的重要。

  • 相关阅读:
    elasticsearch入门 (三 ik 分词器安装)
    elasticsearch入门(二 基础api实例)
    elasticsearch入门(一 基础搭建)
    mysql 错误代码 1045 解决
    信号强度概念
    c语言中,在结构体中如何将void *转存为具体需要的数据类型
    我的论文
    I2C 上拉电阻选择计算公式
    SD卡两种操作模式在项目中应用的比较
    2017 年 年会过后的感想
  • 原文地址:https://www.cnblogs.com/zzfstudy/p/6288258.html
Copyright © 2020-2023  润新知