簡體   English   中英

使用 C# 中的相同數據返回上一個表格

[英]Back to previous form with the same data in C#

我正在學習使用 c# 創建 window 應用程序。 目前我面臨一個問題,當我從表格2返回表格1時,我從數據庫中獲取的數據已經消失了。 我如何 go 返回上一頁而不會丟失表格 1 上的數據

private void AdminMain_Load(object sender, EventArgs e)
{
    conn.Open();
    string getInfo = "SELECT FullName FROM staff WHERE StaffID = '" + Username + "'";
    MySqlCommand cmd = new MySqlCommand(getInfo, conn);
    MySqlDataReader mdr = cmd.ExecuteReader();
    if (mdr.Read())
    {
        userName.Text = mdr["FullName"].ToString();
    }

}

這是我的表格 1,它將顯示用戶名。 但是,當我使用下面的代碼返回表格1時,表格1中的數據就沒有了。

private void backBtn_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
    AdminMain am = new AdminMain();
    am.ShowDialog();
    this.Hide();
}

返回時如何將數據保留在表格1中。

更新:我的代碼如何在 form1 中打開 form2

private void profileBtn_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
    {
        MyProfileAdmin pf = new MyProfileAdmin();
        pf.getInformation(Username.ToString());
        this.Hide();
        pf.ShowDialog();
    }

這是我在form2上“嘗試回到form1”的代碼

private void backBtn_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
    {
        this.Close();
    }

如果您使用ShowDialog打開 Form2 ,則 Form1 仍保持打開狀態,並在 Form2 關閉后繼續。

因此,使用此代碼關閉 Form2。

private void backBtn_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
    this.Close(); // Close, not just hide
}

為了在顯示 Form2 時隱藏 Form1:

private void profileBtn_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
    MyProfileAdmin pf = new MyProfileAdmin();
    pf.getInformation(Username.ToString());

    this.Hide(); 
    try
    {
        pf.ShowDialog();
    }
    finally
    {
        this.Show();
    }
}

我們使用 try/finally 來確保在顯示另一個表單時出現異常時顯示第一個表單。

暫無
暫無

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

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