需要每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 + " bytes free";
...要么...
lbl_Avilable_Memory.Text = (ComputerInfo().AvailablePhysicalMemory / 1048576) + "mb free";
笔记:
AvailablePhysicalMemory
类的ComputerInfo
属性优先于您之前使用的TotalPhysicalMemory
属性。getAvailableRAM()
方法。用ram_timer_tick
替换lbl_Avilable_Memory.Text = (ComputerInfo().AvailablePhysicalMemory / 1048576) + "mb free";
中的调用get
这个词开头的方法应该会返回一个值。如果方法要保留,那么我建议将其重命名为SetLbl_Avilable_Memory()
。available
这个词。