【发布时间】:2018-01-02 14:34:08
【问题描述】:
我正在尝试获取 FrmPhone 表单上名为 txtNum 的文本框的值,并写入文本框 txtLog,但是静态 Void 和 FrmPhone 上的文本框之间似乎没有交互。
下面是 CreateCall 静态 Void 的代码。
private void btnCall_Click(object sender, EventArgs e)
{
CreateCall();
}
static void CreateCall()
{
FrmPhone FrmPhone = new FrmPhone();
var numberToDial = FrmPhone.txtNum.Text;
FrmPhone.txtLog.Text += "\r\nCall " + numberToDial;
FrmPhone.txtLog.ScrollToCaret();
SetupDevices();
call = softphone.CreateCallObject(phoneLine, numberToDial);
call.CallStateChanged += call_CallStateChanged;
call.Start();
}
在静态 void 中执行代码时,我缺少什么来允许我与表单上的文本框进行交互?
另外值得注意的是如果替换
var numberToDial = FrmPhone.txtNum.Text;
与
var numberToDial = "2788";
调用成功,但 txtLog 文本没有改变。
【问题讨论】:
-
但是您创建了一个新表单,
FrmPhone FrmPhone = new FrmPhone();这不是您尝试与之交互的表单..这是一个新表单! -
似乎解决方案是删除
static并与表单实例交互?
标签: c# visual-studio