需要每1秒执行一次可用的空闲内存,因此我使用方法和计时器刻度,但它没有改变,它在标签文本中始终显示8081MB。
那么如何每隔1秒检查一次呢?因为使用计算机内存也要改变。
这是我的代码:

    // Get Available Memory
        public void getAvailableRAM()
        {
            ComputerInfo CI = new ComputerInfo();
            ulong mem = ulong.Parse(CI.TotalPhysicalMemory.ToString());
            lbl_Avilable_Memory.Text = (mem / (1024 * 1024) + " MB").ToString();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

            // Get Available Memory Timer

            ram_timer.Enabled = true;

            // end memory

        }
        private void ram_timer_Tick(object sender, EventArgs e)
        {
            getAvailableRAM();
        }

最佳答案

尝试一下...

包括对Microsoft.VisualBasic dll的引用:

using Microsoft.VisualBasic.Devices;

...然后按照以下步骤更新标签:
lbl_Avilable_Memory.Text = new ComputerInfo().AvailablePhysicalMemory.ToString() + " bytes free";

...要么...
lbl_Avilable_Memory.Text = (ComputerInfo().AvailablePhysicalMemory / 1048576) + "mb free";

笔记:
  • 优先于先前使用的AvailablePhysicalMemory属性,引用ComputerInfo类的TotalPhysicalMemory属性。
  • 不需要getAvailableRAM()方法。将ram_timer_tick中的 call 替换为lbl_Avilable_Memory.Text = (ComputerInfo().AvailablePhysicalMemory / 1048576) + "mb free";
  • 同样值得考虑的是,以单词get开头的方法应该返回一个值。如果要保留该方法,则建议将其重命名为SetLbl_Avilable_Memory()
  • 您的标签名称中的available单词拼写错误。
  • 10-07 19:17
    查看更多