使用多线程c#时访问infopath控件

时间:2013-01-24 19:32:27

标签: c# multithreading infopath2010

我正在尝试从其他逻辑的单独线程中的方法修改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.
    }
}

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

0 个答案:

没有答案