如何将所有变量重置为初始状态?

时间:2014-04-29 13:31:04

标签: c# winforms reset

我的应用程序中需要一个重置按钮。如何将应用程序和所有变量重置为初始状态?我有类似的东西

private void btnReset_Click(object sender, EventArgs e)
{
    txtNajmensia.Text = ""; //textbox
    txtNajvacsia.Text = ""; //textbox
    txtVacsia.Text = ""; //textbox
    txtVolumeBigest.Text = ""; //textbox
    txtVolumeBigger.Text = ""; //textbox
    txtVolumeSmall.Text = ""; //textbox
    fronta.RemoveRange(0, fronta.Count); //List
    potomci.RemoveRange(0, potomci.Count); //List
    visited.RemoveRange(0, visited.Count); //List
    lblResult.Text = ""; //label
    txtFinalA.Text = ""; //textbox
    txtFinalB.Text = ""; //textbox
    txtFinalC.Text = ""; //textbox
    lblNotFound.Visible = false; //label
    lblFound.Visible = false; //label
    richTextBox1.Text = ""; 
}

但是当我想用新值计算第二次时,我有错误,列表访问时不包含任何元素。

2 个答案:

答案 0 :(得分:1)

您已表明这些是州名单。清除它们然后再次填充它们似乎毫无意义,所以从代码中删除这些行:

fronta.RemoveRange(0, fronta.Count); //List
potomci.RemoveRange(0, potomci.Count); //List
visited.RemoveRange(0, visited.Count); //List

我假设你只想清除所选的值,所以请尝试这样做:

fronta.SelectedIndex = -1;
potomci.SelectedIndex = -1;
visited.SelectedIndex = -1;

答案 1 :(得分:0)

您的列表应该是

_fronta.Clear();

我个人会使用string.empty而不是"";

txtNajmensia.Text = string.Empty;

但正如下面的评论所说,这不能回答你的问题。您遇到的问题是您在清除列表后尝试使用列表visited。所以你可以不清除该列表或检查它是否具有您正在使用它的值。