[英]How to retain/recall values of tableLayoutPanel of child form from main form button in C#(Visual Studio) 2010?
[英]How to keep information in textboxes of a child form that was loaded in TableLayoutPanel?
即使用戶打開另一個子表單,我也需要保留在文本框中輸入的信息,
例如:假設我們有 2 個表單要加載到 TableLayoutPanel 的同一個單元格中
2.當他們返回繼續時,表格是新的並且是空的,然后他們必須再次重新輸入所有信息。
如何避免這種情況,請查看我的代碼(是否需要出於相同目的進行任何修改)。
bool isChildAlready = false;
string childName = null;
private void button12_Click(object sender, EventArgs e)
{
frmEmp chld = new frmEmp();
loadChild(chld);
}
private void loadChild(Form child)
{
if (isChildAlready)
{
if (child.Name != childName)
{
this.tlbMain.Controls.RemoveAt(1);
child.TopLevel = false;
child.BackColor = this.tlbMain.BackColor;
child.Dock = DockStyle.Fill;
this.tlbMain.Controls.Add(child, 1, 0);
child.Show();
isChildAlready = true;
childName = child.Name;
}
}
else
{
child.TopLevel = false;
child.BackColor = this.tlbMain.BackColor;
child.Dock = DockStyle.Fill;
this.tlbMain.Controls.Add(child, 1, 0);
child.Show();
isChildAlready = true;
childName = child.Name;
}
}
謝謝你。
使用以下代碼,您可以將無限Form
添加到TableLayoutPanel
。
然后按clear button
返回上一個控件。
我使用了一個帶有靜態列表的靜態類來保存 Forms 。
添加表格
private void btnGetTaker_Click(object sender, EventArgs e)
{
if (tableLayoutPanel1.Controls.Count > 0)
{
StoreData.Controls.Add(tableLayoutPanel1.GetControlFromPosition(1, 0));
tableLayoutPanel1.Controls.RemoveAt(0);
}
frmEmp child = new frmEmp();
child.TopLevel = false;
tableLayoutPanel1.Controls.Add(child, 1,0);
child.Show();
child.FormClosing += T_FormClosing;
}
private void T_FormClosing(object sender, FormClosingEventArgs e)
{
ComeBackForm();
}
清除桌面布局面板
private void btnClear_Click(object sender, EventArgs e)
{
ComeBackForm();
}
private void ComeBackForm()
{
if (tableLayoutPanel1.Controls.Count > 0)
{
tableLayoutPanel1.Controls.RemoveAt(0);
var child = StoreData.Controls.LastOrDefault();
tableLayoutPanel1.Controls.Add(child);
StoreData.Controls.Remove(child);
}
}
和StoreControl.cs
public static class StoreData
{
public static List<Control> Controls { get; set; } = new List<Control>();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.