C#相当新,在完成一些教程时,我遇到了问题。
如何将从一个类生成的变量传递回主窗体,以便我可以在单击按钮时显示它?
此代码模拟患者的心率:
class patientSim
{
int hr = new int();
public static genStats()
{
Random hr_ = new Random();
int hr = hr_.Next(40, 131);
}
}
此代码应在按钮点击时显示心率 hr 。
public partial class mainForm : Form
{
public static void simBtn_Click(object sender, EventArgs e)
{
patientSim.genStats();
MessageBox.Show = hr;
}
}
我确定它非常简单,但我可以完全理解它。
答案 0 :(得分:1)
您的方法需要返回值:
public static int genStats()
{
Random hr_ = new Random();
int hr = hr_.Next(40, 131);
return hr;
}
然后使用:
public static void simBtn_Click(object sender, EventArgs e)
{
int hr = patientSim.genStats();
MessageBox.Show(hr);
}
记住你必须在方法上声明一个返回值。如果您不想退回任何内容,请使用void
答案 1 :(得分:1)
类patientsSim
(根据惯例应该写成PatientSim
将hr
定义为私有字段。您需要修改该类才能访问它。一个可能的修改将会要向patientSim添加一个getter,它返回hr
:
public int Hr { get { return hr; } }
然后以你的形式
patientSim.genStats();
MessageBox.Show("HR: " + patientSim.Hr);
您还有一些其他问题:
int hr = hr_.Next(40, 131);
隐藏了类级变量hr
。所以改为
hr = hr_.Next(40, 131);
然后,您的类的实例和静态范围部分之间存在不匹配。您可以将类级别hr
更改为静态,以及建议的getter,或将事件处理程序更改为非静态。