C#Winforms根据运行过程更改标签

时间:2018-06-27 12:12:41

标签: c# visual-studio winforms backgroundworker

我有一个用Visual Studio 2008开发的C#dotnet 2.0应用程序,它很简单:

APP

当我的进程loop.exe运行或停止时,我想将当前称为“ label1”的标签名称更改为“正在运行”或“已停止”。

当我按开始键时,它将运行loop.exe,并且停止按钮显然会停止它。

我已经阅读了很多有关C#Winforms的主题,但是我无法正常工作,现在我不知道该怎么办。我认为我需要添加一名背景工作人员,但是我不知道如何检查程序并以编程方式更新标签。

这是我的干净/当前代码:

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");
        }

    }
}

我希望我能说清楚,谢谢。

1 个答案:

答案 0 :(得分:0)

您可以通过访问标签的Text属性来更新标签显示的文本。因此,请更改您的方法,例如:

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