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