我正在尝试从与其余逻辑分开的线程中的方法修改 InfoPath 表单中的控件,但它不起作用。有没有办法使这项工作?我使用不同线程的原因是因为我试图在绘制签名板时回显图形。
public void InternalStartup()
{
readSigThread = new Thread(new ThreadStart(Run));
readSigThread.Start();
}
public void Run()
{
while (!done)
{
SigPlus.SetImageXSize(400);
SigPlus.SetImageYSize(100);
SigPlus.SetImagePenWidth(11);
SigPlus.SetJustifyMode(5);
Image sigImage = SigPlus.GetSigImage();
String sigBase64 = ImageToBase64(sigImage, ImageFormat.Jpeg);
DeleteNil(imgCanvas);
imgCanvas.SetValue(sigBase64); // image canvas is the control that I am trying to change.
}
}
在原始线程中,我有一个按钮单击侦听器以指示绘图已完成。但是在新线程启动后,侦听器似乎也停止了工作。