需要每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();
}
答案 0 :(得分:17)
试试这个......
包含对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
这个词。