我是一名C#学生,我对我的中期项目有点困惑。
我放弃了我的项目和规范:https://www.dropbox.com/sh/eo5ishsvz4vn6uz/CE3F4nvgDf
如果你运行该程序,它将会到达我离开的最后一个区域..
private void btnAddScore_Click(object sender, EventArgs e)
{
for (int i = 0; i < 3; i++)
{
tempScore = Convert.ToDecimal(txtScore.Text);
Form1.scoreList = tempScore; (was Form1.scoreList[i] = tempScore;)
}
txtScoresList.Text += Convert.ToString(tempScore) + " ";
}
有一个主要表单,一个辅助添加表单,第三个和第四个表单,所有控件都已到位,只是布线是剩下的。
(1)在上面的代码中,应该有3个分数传递给主表单,它与学生姓名字符串一起填充主表单上的ListBox。我无法弄清楚如何访问该ListBox,只要我输入“listStudents”就没有任何反应。
(2)当我点击“添加”按钮1次时,我也不确定如何限制只有3分的输入,这意味着我知道我的for循环可能是完全错误的。我不知道是否应该将这些分数保存到数组,列表或单个变量中,因为它可以是3(或更多,但3是很好)分数。
(3)当我在AddNewStudent表单上点击“OK”时,我是否在那里编写代码来填充主表单ListBox,还是以主表单形式进行?
更新
private void Form1_Load(object sender, EventArgs e)
{
lbStudents.Items.Clear();
//something like
foreach (decimal i in scoreList2)
{
scoreList = scoreList2.ToString(); //gives me a cannot implicitly convert error
}
lbStudents.Items.Add(tempInfo1 + " " + scoreList2);
}
//I want the listbox to populate like "Name - |100| |90| |80|"
这个代码在我看来是正确的,因为要填充ListBox,但我不确定如何将列表的全部内容添加到字符串中,然后将其添加到列表框中。
答案 0 :(得分:0)
这将使您的代码构建和运行。
在form1
中更改以下声明public static decimal[] scoreList = new decimal[3];
到
public static List<decimal> scoreList = new List<decimal>();
并将您的btnAddScore_Click处理程序更新为
//save scores to temp static var, populate noread txtbox txtScoresList with scores
for (int i = 0; i < 3; i++)
{
//save score to static var for trans-form data sending
tempScore = Convert.ToDecimal(txtScore.Text);
Form1.scoreList.Add(tempScore);
}
其余的并不太难,你应该能够解决它。