大家好。我有一个非常有趣的问题,困扰我好几天了。
我目前正在使用Visual Studio社区来制作应用程序,并使用Windows窗体来制作PC Optimizer / Cleaner。我当前遇到的问题是,我正在使用system.Management
获取物理内存的值,然后使用这些值制作循环进度栏(计数器)。问题是我在private void Form_Load
中有一个名为textBox2.Text = (managementObject["TotalVisibleMemorySize"]).ToString();
的值,我想调用该值或将其传递给另一个称为private void prfTimer_Tick
的方法。您将看到在private void prfTimer_Tick
方法中也是一个textBox2.Text
值。它必须从textBox2.Text = (managementObject["TotalVisibleMemorySize"]).ToString();
方法中读取值,以便可以按照计时器指定的间隔对其进行更新。我在下面发布了源代码,但它也包含在图像链接中。我知道我在要求你们的大力支持,但是如果有人能向我解释如何做到这一点,将不胜感激。
C#源代码---> https://imgur.com/a/tlGx2KP
Windows窗体---> https://imgur.com/a/3NZpVdl
using System;
using System.Windows.Forms;
using System.Management;
namespace InClean___PC_Optimizer
{
public partial class frmDashboard : Form
{
public frmDashboard()
{
InitializeComponent();
}
private void Form_Load(object sender, EventArgs e)
{
ObjectQuery objectQuery = new ObjectQuery("SELECT * FROM Win32_OperatingSystem");
ManagementObjectSearcher managementObjectSearcher = new ManagementObjectSearcher(objectQuery);
ManagementObjectCollection managementObjectCollection = managementObjectSearcher.Get();
foreach (ManagementObject managementObject in managementObjectCollection)
{
textBox1.Text = (managementObject["FreePhysicalMemory"]).ToString();
textBox2.Text = (managementObject["TotalVisibleMemorySize"]).ToString(); <<--- **I want this value...**
}
}
private void prfTimer_Tick(object sender, EventArgs e)
{
textBox2.Text = (int)ramCounter.NextValue(); <<--- ... **to be called here as textBox2.Text**
cpbCPU.Value = (int)cpuCounter.NextValue();
cpbHDD.Value = (int)hddCounter.NextValue();
}
}
}