Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 根据用户输入使程序运行多次_C#_Forms_Recursion_Textbox - Fatal编程技术网

C# 根据用户输入使程序运行多次

C# 根据用户输入使程序运行多次,c#,forms,recursion,textbox,C#,Forms,Recursion,Textbox,我有一个windows窗体程序,我想根据用户指定的数字“运行”一定次数 我正在使用Visual Studio 2013和C 我有一个程序,有16个图片框,随机分配图片到其中的5个框。此人必须选择正确的图片顺序。如果他们这样做了,他们会得到奖励,如果他们选择错了,他们会受到一种恼人的声音的惩罚 我的第一个表单有一个文本框,用户可以指定“numberOfTrials” 我还有第二个表单,它接受文本框的值并将其转换为int string s = textBox.Text; int i = int.Pa

我有一个windows窗体程序,我想根据用户指定的数字“运行”一定次数

我正在使用Visual Studio 2013和C

我有一个程序,有16个图片框,随机分配图片到其中的5个框。此人必须选择正确的图片顺序。如果他们这样做了,他们会得到奖励,如果他们选择错了,他们会受到一种恼人的声音的惩罚

我的第一个表单有一个文本框,用户可以指定“numberOfTrials” 我还有第二个表单,它接受文本框的值并将其转换为int

string s = textBox.Text;
int i = int.Parse(s);
我想让第二个表单上的主程序按照用户指定的次数运行

如果我只运行一次,而不使用这个变量,我的程序就可以工作

我曾尝试在启动程序的方法中使用for循环,但这不起作用。它只是把所有的图片框都变成了白色

然后,我尝试在InitializeComponent方法周围使用for循环,但同样,这只会使所有图片框变为白色

My for循环使用textbox变量,如下所示:

for (int cycles = 0; cycles < numberOfTimesThrough; cycles++)
在按下确认按钮时调用的方法中:

trialNumberString = tbTrialNumber.Text.ToString();
关于第二种形式:

在班级的第一名:

public static string trialNumberString;
//Integer value for the string of trials
public static int numberOfTimesThrough;
bool canConvert = Int32.TryParse(Settings.trialNumberString, out numberOfTimesThrough);
这是获取第一个表单上文本框的字符串值的正确方法吗? 我确信添加for循环会使程序自身重复,因此我将文本框字符串解析为int的方式肯定有问题。 使用这个程序的人不想破坏它,所以输入到第一个表单文本框中的数据总是在1到25之间。我还需要在字符串转换中使用try-catch吗


对此的任何帮助都将不胜感激。

当应用程序关闭时,静态变量也将从内存中删除。为了保存设置,您需要将其保存到单独的文件中,然后读取该文件。读/写设置的简单方法是使用应用程序设置的内置选项:

您可以通过访问文本框的文本属性来获取文本框的值,并从中解析返回的字符串为int

string s = textBox.Text;
int i = int.Parse(s);
使用任何必要的验证逻辑

您不需要为了多次显示表单而重新运行整个程序:相反,只需实例化第二个表单的多个实例并按顺序显示它们

要安全地将文本解析为数字,可以使用int.TryParse


我喜欢您显示多个实例的想法。要做到这一点,我只需在第二个表单上多次写入InitializeComponent,还是从第一个表单多次调用第二个表单?@smokeAndMirrors我会从第一个表单创建第二个表单的多个实例我尝试过这个方法,但我收到一条错误消息,说不能隐式地将字符串转换为int:-事实上,我没有尝试使用textBox.text,我只使用textBox.text.toString,我将在没有toString标记的情况下尝试。