[英]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.