我正在运行一份包含10个问题的调查问卷。第一个Form.cs只是一个开始按钮,用于在新的Form.cs中打开第一个问题。
新表格有3个单选按钮,每个按钮应返回不同的点(0,5,10)。这些点应该在所有表单中累积,然后总计应该显示在最终的Form.cs中或上传到SQL等。
我试过编码,但不确定它是最好的方式。
namespace XX
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
int points;
int totalscore = 0;
private void btnCANCEL_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.Cancel;
}
private void zeropoint_CheckedChanged(object sender, EventArgs e)
{
if (zeropoint.Checked == true)
{
points = 0;
totalscore = totalscore + points;
}
}
private void fivepoint_CheckedChanged(object sender, EventArgs e)
{
if (fivepoint.Checked == true)
{
points = 5;
totalscore = totalscore + points;
}
}
private void tenpoint_CheckedChanged(object sender, EventArgs e)
{
if (tenpoint.Checked == true)
{
points = 10;
totalscore = totalscore + points;
}
}
Form3 thirdForm = new Form3();
private void btnOK_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.OK;
this.Hide();
var form3 = new Form3();
form3.FormClosed += (s, args) => this.Close();
form3.Show();
}
}
答案 0 :(得分:1)
我创建了一个将分数保存为字段的类。您可以在主窗体中存储对该类对象的引用。打开新表单时,您可以将对象引用传递给该表单。在单独的表单关闭后,仍可通过主表单中的引用访问该对象中得分的所有更改。
此外,如果您发现需要额外的共享数据,您只需将其添加到分数类中,以便可以随处访问它们。
答案 1 :(得分:1)
听起来您希望静态成员跟踪您班级所有实例的总分。看看这个。
https://msdn.microsoft.com/en-us/library/79b3xss3.aspx#Anchor_0
并将总计数更改为
public static int totalcount = 0;
答案 2 :(得分:0)
你想要一个静态类
static class Scoring
{
public static int CurrentPoints { get; set; }
public static int TotalScore { get; set; }
}
然后把它叫做
Scoring.CurrentPoints += 10;