所以,我想在文本框中添加数字
我希望将号码发送到此课程
public class ParticleSwarm
{
private double Fitness;
MatchedPart matchedParticle = new MatchedPart();
public List<MatchedPart> m_listMatchedPartItem = new List<MatchedPart>();
public List<MatchedPart> MatchedPartList
{
get
{
return m_listMatchedPartItem;
}
}
public ParticleSwarm(double fitness)
{
Fitness = fitness;
Calculate();
m_listMatchedPartItem.Add(matchedParticle);
}
// Get data to winform
public void Calculate()
{
int dim = 2; // problem dimensions 2
int numParticles = 2; //2
int maxEpochs = 100; //100
double exitError = 0.0; // exit early if reach this error 0
double minX = -10.0; // problem-dependent -10
double maxX = 10.0; //10
如何将文本框中的数字替换为Calculate()dim,numParticles .. 。 ?
答案 0 :(得分:1)
你显然需要有函数参数。如果我正确理解了您的问题,您希望将维度和粒子传递给Calculate()函数。
首先,在 ParticleSwarm 类中,您应该更改函数的原型,如下所示
public void Calculate(int dimen,int numParts)
当你想要调用方法时,就像下面这样做
int dimen = int.Parse(textbox.Text);
int parts = int.Parse(textbox2.Text);
ParticleSwarm p = new ParticleSwarm();
p.Calculate(dimen,parts);
你的Calculate()函数看起来像这样
public void Calculate(int dimen,int numParts)
{
int dim = dimen;
int numParticles = numParts;
int maxEpochs = 100; //100
虽然我不确定这是你想要的!此外,Here是关于C#函数和参数传递的基础知识的链接,如果您需要它!
更新2
根据您的需要,应该将构造函数修改为如下所示
public ParticleSwarm(double fitness,int dimen,int numParts)
{
Fitness = fitness;
Calculate(dimen,numParts);
m_listMatchedPartItem.Add(matchedParticle);
}
并像这样调用构造函数
int dimen = int.Parse(textbox.Text);
int parts = int.Parse(textbox2.Text);
ParticleSwarm p = new ParticleSwarm(fitness,dimen,parts);
答案 1 :(得分:0)
您可以在按钮单击时调用Calculate()方法,您可以在Calculate()方法中获取文本框值,或者您可以将参数添加到Calculate(param 1,param 2)方法并从提取中发送参数值使用以下代码从文本框中输入值:
int value = Convert.ToInt32(txtboxName.Text);
OR
double value = Convert.ToDouble(txtBoxName.Text);