zoukankan      html  css  js  c++  java
  • C#开发PACS医学影像处理系统(四):界面布局之状态栏

    状态栏一般用于显示系统状态,例如影像数量统计、CPU和内存使用情况、全屏时显示日期等,

    同样也是采用WPF控件的Grid作为容器,布局使用 VerticalAlignment="Bottom"

     

    普通配置的Win7和Win10一般内存使用不超过200M,CPU不超过5,除了一些老医院还在用XP系统,实在太烂可以放宽要求,但要保证软件的运行速度和控制资源占用。

    其中CPU、内存、系统时间监控代码如下:

            /// <summary>
            /// 获取程序运行内存、CPU、系统时间
            /// </summary>
            /// <returns></returns>
            internal static void GetRamInfo()
            {
                try
                {
                    double usedMemory = 0;
                    Process p = Process.GetCurrentProcess();
                    if (p != null)
                    {
                        p.Refresh();
                        string procName = p.ProcessName;
                        if (pc == null)
                        {
                            pc = new PerformanceCounter("Process", "Working Set - Private", procName);
                            GetRamInfo();
                        }
                        else
                        {
                            while (true)
                            {
                                usedMemory = pc.NextValue() / 1024.0 / 1024.0;
    
                                //当前时间
                                var curTime = p.TotalProcessorTime;
    
                                //间隔时间内的CPU运行时间除以逻辑CPU数量
                                var value = (curTime - prevCpuTime).TotalMilliseconds / interval / Environment.ProcessorCount * 100;
                                prevCpuTime = curTime;
    
                                string week = Day[Convert.ToInt32(DateTime.Now.DayOfWeek.ToString("d"))].ToString();
    
                                SysTask.SetTaskUI(() =>
                                {
                                    Main.Form.LblCpu.Text = "CPU:" + ((int)value).ToString() + "%  ";
                                    Main.Form.LblRam.Text = "内存:" + ((int)usedMemory).ToString() + "M  ";
                                    Main.Form.LblWeek.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " " + week;
                                });
                                Thread.Sleep(1000);
                            }
                        }
                    }
                }
                catch { }
            }
    
            #endregion

     

  • 相关阅读:
    编译安装php
    CentOS yum 安装LAMP PHP5.4版本
    CentOS下php安装mcrypt扩展
    CentOS安装crontab及使用方法(转)
    解决svn "cannot set LC_CTYPE locale"的问题
    CentOS下通过yum安装svn及配置
    linux svn启动和关闭
    vagrant启动报错The following SSH command responded with a no
    并行进程问题
    利用集群因子优化
  • 原文地址:https://www.cnblogs.com/Uncle-Joker/p/13650514.html
Copyright © 2011-2022 走看看