以下是我的代码
public Tuple<string, string> GetMultipleValue()
{
frmKbCPT mFrmKbCpt = new frmKbCPT();
mFrmKbCpt.MaximizeBox = false;
mFrmKbCpt.Height = 600;
mFrmKbCpt.Width = 800;
mFrmKbCpt.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
mFrmKbCpt.ShowDialog();
string cptrate = mFrmKbCpt.txtRate.Text;
string mStr = mFrmKbCpt.txtCode.Text;
mFrmKbCpt.Dispose();
return Tuple.Create(cptrate, mStr);
}
如果我想填充两个文本框,我会按下按钮
Tuple<string, string> getvalue = new Tuple<string, string>(GetMultipleValue().Item1, GetMultipleValue().Item2);
txtCPT1.Text = getvalue.Item1;
txtCpt1Prate_opdamt.Text = getvalue.Item2;
我的问题是它显示我的表格frmKbCPT两次。有没有办法获取元组item2而不重复函数GetMultipleValue()?谢谢,更有力量!
答案 0 :(得分:5)
调用一次:
Tuple<string, string> getvalue = GetMultipleValue();
由于你要两次打电话,它会完成两次工作。
所以请打电话一次。
答案 1 :(得分:5)
您只需要调用该函数一次,将该返回值保存在变量中,然后使用该变量填充文本框。这样,该函数只被调用一次,因此只执行一次。
Tuple<string, string> temp = GetMultipleValue();
txtCPT1.Text = temp.Item1;
txtCpt1Prate_opdamt.Text = temp.Item2;