C# 如何清除文本框,以便重新使用“提交”按钮?

C# 如何清除文本框,以便重新使用“提交”按钮?,c#,forms,object,C#,Forms,Object,我正在为C#学校制作一个程序,其目的是允许用户输入胶片数据,然后将其放入该胶片的对象中。它还将包括其他功能,如用户能够搜索一部电影(它说我必须制作3个电影对象,并将它们存储在一个数组中,所有这些都由用户输入) 我已经创建了Windows窗体应用程序的第一部分,它是一个屏幕,可以从用户那里获取所有输入信息,如姓名、主管、评级等。。。还有一个submit按钮,用于创建对象。在不创建新表单的情况下,是否有办法使用相同的屏幕并清除文本框,以便在再次单击提交按钮时创建一个新对象,如“film2” 以下是我

我正在为C#学校制作一个程序,其目的是允许用户输入胶片数据,然后将其放入该胶片的对象中。它还将包括其他功能,如用户能够搜索一部电影(它说我必须制作3个电影对象,并将它们存储在一个数组中,所有这些都由用户输入)

我已经创建了Windows窗体应用程序的第一部分,它是一个屏幕,可以从用户那里获取所有输入信息,如姓名、主管、评级等。。。还有一个submit按钮,用于创建对象。在不创建新表单的情况下,是否有办法使用相同的屏幕并清除文本框,以便在再次单击提交按钮时创建一个新对象,如“film2”

以下是我提交按钮的代码:

private void button1_Click(object sender, EventArgs e)
    {
        int year = Convert.ToInt32(dBox_year.Text);

        Film film1 = new Film(tbox_name.Text, tbox_director.Text, tbox_actor1.Text, tbox_actor2.Text, year, tbox_rating.Text);

        filmArray[0] = film1;
    }
所以,你看,我多么希望主屏幕上的文本框能够自动清除,并重复使用相同的屏幕,但只是“Film film2=…”等


这不是一个已评估的部分,我们还没有在课堂上讨论过这一点,所以我尝试过。

tbox\u name.Clear()-清除文本框控件中的所有文本。(继承自TextBoxBase。)

您可以使用列表而不是数组,在表单级别声明:

private void button1_Click(object sender, EventArgs e)
{
    int year = Convert.ToInt32(dBox_year.Text);
    Film film1 = new Film(tbox_name.Text, tbox_director.Text, tbox_actor1.Text, tbox_actor2.Text, year, tbox_rating.Text);
    filmArray[0] = film1;

    //clearing after adding to array
    //or you can just use .Clear() method
    tbox_name.Text = String.Empty;
    tbox_director.Text = String.Empty;
    tbox_actor1.Text = String.Empty;
    tbox_actor2.Text = String.Empty;
    tbox_rating.Text = String.Empty;
}
private List<Film> filmList = new List<Film>();
在这里,您将创建一个新的Film对象,并将其直接添加到电影列表中,然后清除文本框

如果有特定的原因需要阵列,那么您可以在以后执行

filmList.ToArray()

希望这有帮助

单击“提交”按钮时,您希望将对象添加到数组的末尾,而不是将其放在第一个位置。因此,您需要一个名为filmCount的额外变量,在每次提交时使用0和增量初始化该变量

Film film1 = new Film(tbox_name.Text, tbox_director.Text, tbox_actor1.Text, tbox_actor2.Text, year, tbox_rating.Text);
filmArray[filmCount++] = film1;
然后你清理箱子

foreach(TextBox TB in this.Controls)
{
      TB.Text = "";
}

谢谢我怎么用这种方式来指对象呢?我没有声明像“film1”这样的名称,因此如果我想引用该对象,我将如何做?例如,如果您想查找特定的电影,您可以执行var aFilm=filmList。其中(x=>x.name==“星球大战”).FirstOrDefault();如果(aFilm!=null){Film Film Film=aFilm as Film;MessageBox.Show(“您找到了一部电影”);}很抱歉,这看起来有点不自然,无法解决如何在注释中添加代码缩进:o)
foreach(TextBox TB in this.Controls)
{
      TB.Text = "";
}