現在、2つのテキストボックスと1つのnumericUpDownから3人のユーザー入力を受け取るフォームがあります。複数の項目を配列に追加し、配列をテキストボックスに表示
ボタンをクリックしたときに値を取得し、すべての3の値を別のテキストボックスに表示したいと考えています。
複数の追加がある場合に問題が発生します。 配列の作成を試みましたが、最後の入力だけが表示されます。
private void AddButton_Click(object sender, EventArgs e)
{
string newItem = NameTextBox.Text + "\t" + QuantityBox.Value.ToString() + "\t" + PriceBox.Text;
List<String> newItemList = new List<string>();
newItemList.Add(newItem);
for(int i = 0; i < newItemList.Count; i++)
{
BasketBox.Text = newItemList[i] + "\n";
}
}
あなたの 'AddButton_Click'メソッドの外で' newItemList'のインスタンス化を移動します。ボタンをクリックするたびに、新しいリストが作成され、既存のリストの内容が失われます。 –
あなたは毎回 '.Text'を上書きしています。 BasketBox.Text = newItemList [i] + "\ n" 'BasketBox.Text + = newItemList [i] +" \ n "; ' –
' newItemList'宣言をメソッドの外に移動します。テキストボックスを置き換えるのではなく、テキストボックスの 'Text'に追加してください。 [Microsoft .NETの変数とメソッドの範囲](https://msdn.microsoft.com/en-us/library/ms973875.aspx)を参照してください。または['TextBox.AppendText'](https://msdn.microsoft.com/en-us/library/system.windows.forms.textboxbase.appendtext(v = vs.110).aspx)を見てください。 –