C # Winforms изменить метку в зависимости от запущенного процесса - PullRequest
0 голосов
/ 27 июня 2018

У меня есть приложение dotnet 2.0 на C #, которое я разработал в Visual Studio 2008, все довольно просто:

APP

Я хотел бы изменить имя метки, которая в данный момент называется «label1», на «Running» или «Stopped», когда мой процесс loop.exe запущен или остановлен.

Когда я нажимаю старт, он запускает 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 голосов
/ 27 июня 2018

Вы можете обновить текст, обозначенный меткой, открыв его свойство Text. Итак, измените ваш метод, как:

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