C# Winforms根据正在运行的进程更改标签

omvjsjqw  于 2023-02-05  发布在  C#
关注(0)|答案(2)|浏览(143)

我有一个用C#编写的dotnet 2.0应用程序,它是我在Visual Studio 2008中开发的,非常简单:

当我的进程loop.exe正在运行或停止时,我想将当前称为“label 1”的标签名称更改为“Running”或“Stopped”。
当我按下开始,它将运行loop.exe和停止按钮显然将停止它。
我已经读了很多关于C# Winforms的主题,但是我不能让这个工作,我不知道现在该怎么做。我想我需要添加一个backgroundworker,但是我不知道如何检查进程和更新标签编程。
下面是我的干净/当前代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.IO;

namespace APP_NAME
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Start_Click(object sender, EventArgs e)
        {
            Process.Start("loop.exe");

        }
        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            Process.Start("taskkill", "/F /IM loop.exe");
            Process.Start("taskkill", "/F /IM azcopy.exe");
        }

        private void button2_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            Process.Start("notepad.exe", @"C:\ProgramData\APP_NAME\settings\settings.xml");
        }

        private void button4_Click(object sender, EventArgs e)
        {
            Process.Start("explorer.exe", @"C:\ProgramData\APP_NAME\logs");
        }

    }
}

希望我说得够清楚了谢谢。

kb5ga3dv

kb5ga3dv1#

你可以通过访问标签的Text属性来更新标签显示的文本。

private void Start_Click(object sender, EventArgs e)
{
    Process.Start("loop.exe");
    label1.Text = "Running";
}
mlnl4t2r

mlnl4t2r2#

//hi //执行此操作可在窗口中真实的查看标签值更改

private void Start_Click(object sender, EventArgs e)
    {
        Process.Start("loop.exe");
        label1.Text = "Running";
        lable1.Refresh();

    }

相关问题