簡體   English   中英

Forms 關閉/顯示 - C#

[英]Forms Closing/Showing - C#

我正在開發我的第一個 UI C# 程序。 我希望能得到一些幫助。 我的第一個表單包含幾個文本框、兩個單選按鈕和一個 Go 按鈕。 如果選中一個單選按鈕,則會打開一個新的小表單,如果選中另一個,則會打開一個新的大表單。

當用戶點擊 go - 這是我的代碼 -

        this.WindowState = FormWindowState.Minimized;
        int.TryParse(tbHrs.Text, out hours);
        int.TryParse(tbMins.Text, out minutes);
        int.TryParse(tbSecs.Text, out seconds);
        int.TryParse(tbWarn1.Text, out warn1);
        int.TryParse(tbWarn2.Text, out warn2);


        bool Max = rbMax.Checked;
        if (Max == true)
        {
            if (_Max == null || _Max.IsDisposed)
            {
                _Max = new Max(hours, minutes, seconds, warn1, warn2);
            }
            _Max.Show();


        }
        else
        {
            if (_Min == null || _Min.IsDisposed)
            {
                _Min = new Min(hours, minutes, seconds, warn1, warn2);
            }
            _Min.Show();
        }

所以它最小化輸入值的表單,並在構建新表單時傳遞值以開始倒計時。 在新表單上,我想讓按鈕暫停,效果很好。 但是我也想要一個停止/重置按鈕。 因此,在停止/重置單擊時,我想關閉當前表單,但隨后我想從最小化 state 打開第一個表單 - 我嘗試了下面注釋掉的行,但它沒有用。 有誰知道我可以在第二個表單上單擊停止關閉時從最小化 state 中顯示第一個用戶輸入表單的方法,如果它可以在我的第一個表單上將字段重置為空白,那就更好了。 非常感謝。

    private void MinStop_Reset_Click(object sender, EventArgs e)
    {
        this.Close();
        //ParentForm.Show();
    }

在第二個表單上添加一個事件(您可以訂閱現有的 Form.Closed 事件,但您可能希望為您的用例提供更具體的事件)。

public event EventHandler UserStoppedEvent;

從您的第一個表單訂閱它並做您需要做的任何事情

_min.UserStoppedEvent += (s, e) => {this.WindowState = FormWindowState.Maximized;} 

在父表單中執行:

_min.FormClosed += (s1,e1) =>  { this.WindowState = FormWindowState.Maximized; }

您需要將 ParentForm 句柄傳遞給那些小的 forms 的構造函數。 Also look here: http://msdn.microsoft.com/en-us/library/system.windows.forms.control.parent.aspx and also here: http://www.daniweb.com/software-development/csharp /線程/120120

暫無
暫無

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

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