none
如果A事件成立,則B事件執行 RRS feed

  • 問題

  • 大家好:

          如果我的form上有兩個buttom、一個lable和一個panel ,  其中A buttom_click被觸發後 , lable會顯示A,而B buttom_click被觸發後 , lable會顯示B,希望lable顯示A時lable_click被觸發panel上的label會顯示A ,  相反的, lable顯示B時lable_click被觸發panel上的label會顯示B。

          也就是 A 事件程序導致B事件, 而因為B事件又決定了C事件。 不曉得是否有人了解這樣的功能如何達成. 謝謝所有提供討論者。因為是初學者,如有解釋不清楚的地方,請見諒。

    2019年7月27日 下午 01:11

解答

  • 你預期的是像這樣的結果嗎 ? 當然有其他的作法,鑑於你是初學者,我用最容易理解的程式碼給你參考:

     public partial class Form1 : Form
        {
            private bool? IsButton1Clicked { get; set; }
            public Form1()
            {
                InitializeComponent();
                IsButton1Clicked = null;
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                IsButton1Clicked = true;
                label1.Text = "A"; 
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                IsButton1Clicked = false;
                label1.Text = "B";
            }
    
            private void label1_Click(object sender, EventArgs e)
            {
                if (IsButton1Clicked == null)
                {
                    // 如果 IsButton1Clicked 是 null,表示兩個按鈕都沒被按過
                    return;
                }
    
                if ( IsButton1Clicked == true )
                {
                    // true 代表按了 Button1, label_on_panel 表示在 panel 上的 label
                    label_on_panel.Text = "按了 Button1";
                }
                else
                {
                    label_on_panel.Text = "按了 Button2";
                }
            }
        }


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。 https://skilltree.my/

    • 已標示為解答 tsailun 2019年7月29日 下午 03:02
    2019年7月28日 下午 05:25
    版主

所有回覆

  • 你可以在 A 事件最後呼叫 B 事件

    同理處理 C 事件。


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    2019年7月27日 下午 03:28
  • 不能在Button_Click被觸發時, 更新label顯示的內容, 再更新panel中的label顯示的內容嗎?
    2019年7月28日 上午 01:11
  • 在Button_Click被觸發時, 更新label顯示的內容, 而label_click被觸發時,才更新panel中的label顯示的內容

    請問這樣能如何判別呢?

    有想說要用for執行布林運算,但顯示錯誤(只能判斷數值),謝謝大家的回答

    2019年7月28日 上午 03:21
  • 你預期的是像這樣的結果嗎 ? 當然有其他的作法,鑑於你是初學者,我用最容易理解的程式碼給你參考:

     public partial class Form1 : Form
        {
            private bool? IsButton1Clicked { get; set; }
            public Form1()
            {
                InitializeComponent();
                IsButton1Clicked = null;
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                IsButton1Clicked = true;
                label1.Text = "A"; 
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                IsButton1Clicked = false;
                label1.Text = "B";
            }
    
            private void label1_Click(object sender, EventArgs e)
            {
                if (IsButton1Clicked == null)
                {
                    // 如果 IsButton1Clicked 是 null,表示兩個按鈕都沒被按過
                    return;
                }
    
                if ( IsButton1Clicked == true )
                {
                    // true 代表按了 Button1, label_on_panel 表示在 panel 上的 label
                    label_on_panel.Text = "按了 Button1";
                }
                else
                {
                    label_on_panel.Text = "按了 Button2";
                }
            }
        }


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。 https://skilltree.my/

    • 已標示為解答 tsailun 2019年7月29日 下午 03:02
    2019年7月28日 下午 05:25
    版主
  • 對的~這就是我希望的結果

    感謝你!!!!!問題已解決

    2019年7月29日 下午 03:04