簡體   English   中英

C# - 運行順序任務的正確方法?

[英]C# - Proper way to run sequential tasks?

C# 新手,邊學邊學。 我試過谷歌搜索,但還沒有找到我正在尋找的東西(仍在尋找)。 我有一個簡單的 C# 應用程序,到目前為止運行良好。 我想弄清楚的下一部分是如何調用一系列任務/方法。

假設我有 4 個單獨的任務(任務 1-4)。 他們每個人都做不同的事情......

按鈕 1 - 顯示消息框 按鈕 2 - 更改標簽文本顏色 按鈕 3 - 向控制台寫入內容。 等等等等

當您按下其相關按鈕時,其中每一個都可以正常工作。 但是現在假設我在每個旁邊都有一個復選框,您可以選中/取消選中。 加上一個按鈕,上面寫着“選擇運行”。

我的問題是如何對該按鈕進行編程以按順序運行所有任務並僅運行選定的任務?

復選框 1 - 關閉 復選框 2 - 開啟 復選框 3 - 關閉 復選框 4 - 開啟

因此,當我按下“運行所選”按鈕時 - 只有任務 2 和 4 運行。

再說一次,我是新手,我的行話可能不正確 - 但希望你能明白。

謝謝,邁克

首先,我會將按鈕單擊處理程序之外的每個任務隔離到其自己的方法中:

private void Task1()
{
    MessageBox.Show("Task 1");
}
private void Task2()
{
    MessageBox.Show("Task 2");
}
private void Task3()
{
    MessageBox.Show("Task 3");
}
private void Task4()
{
    MessageBox.Show("Task 4");
}

為了簡單起見,我只是使用了簡單的消息框,但實際上任何代碼都可以工作。

然后讓每個點擊處理程序只調用每個方法:

private void button1_Click(object sender, EventArgs e)
{
    this.Task1();
}

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

private void button3_Click(object sender, EventArgs e)
{
    this.Task3();
}

private void button4_Click(object sender, EventArgs e)
{
    this.Task4();
}

現在是重要的部分,當單擊“全部檢查”按鈕時,您檢查每個復選框狀態並按順序啟動適當的方法:

private void button5_Click(object sender, EventArgs e)
{
    if (this.checkBox1.Checked) this.Task1();
    if (this.checkBox2.Checked) this.Task2();
    if (this.checkBox3.Checked) this.Task3();
    if (this.checkBox4.Checked) this.Task4();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM