0

我正在尝试从与其余逻辑分开的线程中的方法修改 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.
    }
}

在原始线程中,我有一个按钮单击侦听器以指示绘图已完成。但是在新线程启动后,侦听器似乎也停止了工作。

4

0 回答 0