私のこの学生レジストリには、メインフォームのリストボックスがあり、2番目のフォームには学生が追加されています。この2番目の形式では、名前テキストボックスに名前を付け、学生にはパイプ文字( "|")で区切る必要のある数字を追加します。ユーザーが[OK]ボタンを押したときに、テキストボックスの名前と数字が記入された後は、以下のハードコードされた生徒のようになります。テキストボックスから別のフォームのリストボックスに情報を転送する方法
まずフォーム
private void listForm1_SelectedIndexChanged(object sender, EventArgs e)
{
string val = listForm1.GetItemText(listForm1.SelectedItem);
string[] valArray = val.Split('|');
int sum = 0;
int scores = 0;
for (int i = 1; i < valArray.Length; i++)
{
int num = Convert.ToInt32(valArray[i]);
sum += num;
scores++;
}
int average = sum/scores;
txtAverage.Text = average.ToString();
txtTotal.Text = sum.ToString();
txtScoreCount.Text = scores.ToString();
}
private void Form1_Load(object sender, EventArgs e)
{
listForm1.Items.Add("Hamish Overtone" + "|" + 39 + "|" + 12 + "|" + 85);
listForm1.Items.Add("Claudia Dye" + "|" + 44 + "|" + 56 + "|" + 85);
listForm1.Items.Add("Mike Layne" + "|" + 12 + "|" + 47+ "|" + 28);
}
第二の形式以下のコード
private void btnADDSCORE_Click(object sender, EventArgs e)
{
string userInput = txtNewScore.Text;
txtNewScores.Text = txtNewScores.Text + " " + userInput;
txtNewScore.Text = String.Empty;
}
private void btnNewOk_Click(object sender, EventArgs e)
{
}
private void txtNewName_TextChanged(object sender, EventArgs e)
{
}
}
ERRORING PART:
ます。private void listForm1_SelectedIndexChanged(オブジェクト送信者、EventArgsの電子)ここにあなたのメインウィンドウに {
// Get the value from the selected item
string val = listForm1.GetItemText(listForm1.SelectedItem);
// Split the item's value to a string array according to the pipe char
string[] valArray = val.Split('|');
int sum = 0;
int scores = 0;
// Iterate through all possible values and sum it up,
// while keeping count to how many numbers there are:
for (int i = 1; i < valArray.Length; i++)
{
int num = Convert.ToInt32(valArray[i]);
sum += num;
scores++;
}
// Calculate the average.
// Keep in mind using an integer will create a whole number, without decimal points.
int average = sum/scores;
// Place the average and the sum in textboxes
txtAverage.Text = average.ToString();
txtTotal.Text = sum.ToString();
txtScoreCount.Text = scores.ToString();
}
私はこの権利を取得していた場合は、リストボックスを持っているあなたのメインフォームは、2番目のフォームを開き、データを入力して[OK]をクリックすると、そのデータをメインフォームに戻すことができますか?それはあなたの必要条件ですか? – Sach
ええ、私のメインフォームには、3人のハードコーディングされた学生のリストボックスがあります。新しい生徒を追加すると、名前ボックスと数字ボックスで2番目のフォームが開きます。ユーザーが[OK]ボタンを押すと、生徒はハードコードされた生徒のようなフォーム1のリストボックスに移動します。 – User3283827
このすべての情報はこの質問では不要です。必要なのは実際には2つのウィンドウ間でデータを渡す方法です。まず、あなたの質問が何であるかを理解する必要があります。あなたがここでグーグルで検索した場合、そのような質問がたくさんあります。 – Sach