我的任务是设置一个按钮,设置输入数组的值。用户将按下按钮输入值,按下按钮后,用户输入的值将存储到数组中。我的老师(是的,这是一个家庭作业问题)说他希望一次只做一个值。
我遇到的问题是,我只是不知道要写什么才能实现这一点。我已经尝试过看看我能在活动中做些什么,但这让我无处可去,除非答案在那里,我完全错过了。
任何关于在哪里寻找的建议,或者对写什么的想法都会很棒。
private void addToArray_Click(object sender, EventArgs e)
{
Button bclick = (Button) sender;
string variables = addArrayTextBox.Text;
int []vars = new int[5];
vars = parseVariableString(variables);
int numberIndex = 0;
for (int i = 0; i < vars.Length; i++)
{
int indexNumber = vars.Length;
numberIndex = indexNumber;
}
integerTextBox.Text = numberIndex.ToString();
}
我目前所输入的是什么。
答案 0 :(得分:1)
让你入门
让我们先把图形设计师的东西放在首位:
button_click
事件处理程序接下来,您可能希望您的数组保留在范围内,最简单的方法是将其声明为Form1
实例的字段,然后在`中实例化和/或初始化它。 Form1构造函数。
然后您可以从事件处理程序
访问它示例:强>
public partial class Form1 : Form
{
int[] vars;
int intergersEntered;
public Form1()
{
InitializeComponent();
vars = new int[5];
intergersEntered = 0;
// insert other initialization here
}
private void button1_Click(object sender, EventArgs e)
{
vars[0] = int.Parse(textBox1.Text);
intergersEntered++;
textBox2.Text = intergersEntered.ToString();
}
...
答案 1 :(得分:0)
我不确定我会根据您的代码得到您的问题。复述,你想按一个按钮时将数组长度增加1,是吗?
public partial class Form1 : Form
{
private int[] vars;
public Form1()
{
InitializeComponent();
vars = new int[5];
}
private void button1_Click(object sender, EventArgs e)
{
int[] tmp = new int[vars.Length + 1];
vars.CopyTo(tmp, 0);
vars = tmp;
}
}
答案 2 :(得分:0)
在我看来,每次单击“添加到数组”按钮时,您只需将数组调整为更高一级:
private void addToArray_Click(object sender, EventArgs e)
{
//Calculate the new size of the array
int newLength = arrayOfIntegers.Length + 1;
//Resize the array
Array.Resize(ref arrayOfIntegers, newLength);
//Add the new value to the array
//Note that this will fail if the textbox does not contain a valid integer.
//You can use the Integer.TryParse method to handle this
arrayOfIntegers[newLength] = Integer.Parse(addArrayTextBox.Text);
//Update the text box with the new count
integerTextBox.Text = newLength.ToString();
}