【问题标题】:How to reset panel values after hiding it? C#隐藏后如何重置面板值? C#
【发布时间】:2013-08-08 19:25:04
【问题描述】:

我正在做一个小项目,我有 2 个按钮和 2 个面板。 面板 1 有 TextBox 面板 2 有一个不同的文本框

还有 2 个按钮。当我按下 button1 时 panel2 将显示,当我按下 button2 时 panel1 将显示。 现在假设我在面板 1 的文本框中键入了一些内容,当我移动到面板 2 并返回面板 1 时,文本框为空,就像我再次运行表单一样。 这是我的 2 个按钮的代码。

这是用于显示 panel2 的按钮

 private void ShowPanel2_Click(object sender, EventArgs e)
    {
        Panel Panel2Var = new Panel();
        Panel2Var = Panel2;
        Panel1.Hide();
        Panel2.Show();
    }

这是显示 panel1 的按钮

 private void ShowPanel1_Click(object sender, EventArgs e)
    {
        Panel Panel1Var = new Panel();
        Panel1Var = Panel1;
        Panel2.Hide();
        Panel1.Show();
    }

【问题讨论】:

    标签: c# properties panel


    【解决方案1】:

    您在返回时试图清除文本框?这可以通过查看面板中的所有组件、找到文本框并清除它来完成。喜欢:

    foreach (Control p in Panel1.Controls)
      if (p is TextBox)
         p.Clear(); //or use .text like below
         p.Text = "";
    

    【讨论】:

    • 如果我有一个打开的连接怎么办?和单选按钮等......我希望每件事都回到它的默认值。
    • @Muhand Jumah 你不能只写一个方法来initialize 和一个方法来reset 一切吗?当然,假设您手动插入每个控件。
    • @KappaG3 这就是我所做的。我有一个重置每个控件的功能。但我想知道是否有一个功能可以自动完成,而无需我手动插入每个控件。
    • 此线程提出了相同的问题并提供了一种清除所有控件的方法。 stackoverflow.com/questions/297526/… 不写自定义函数好像不行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多