有没有一种方法可以从另一个方法的文本框字符串中调用值?

时间:2020-04-25 21:31:00

标签: c# windows forms

大家好。我有一个非常有趣的问题,困扰我好几天了。

我目前正在使用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();
        }
    }
}

0 个答案:

没有答案
相关问题