0
私はMain.cs
とPdf.cs
を持っています。私のMain.csには3つのボタンがあります。各ボタンをクリックするたびにPdf.cのpdfファイルのページにナビゲートします。 Ex。ボタン1をクリックすると、新しいウィンドウがポップアップし、ページ1のpdfファイルが表示されます。ボタン2をクリックすると、新しいpdfポップアップウィンドウのページ2などが表示されます。Winforms、スレッドを使用してPDFのページを更新する方法
私の質問は、PDFファイルが1つのpdfファイルしか開きませんし、ユーザーがボタンをクリックするたびにが更新/呼び出されます。選択したページはありますか?ここで
は、Main.csサンプルコードです:public Main()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
ThreadStartSOP = new Thread(new ThreadStart(() => ThreadScreen(pageNumber)));
if(ThreadStartSOP.IsAlive)
{
//Update the page
}
else
{
ThreadStartSOP.SetApartmentState(ApartmentState.STA);
ThreadStartSOP.Start();
}
}
private void ThreadScreen(int pageNumber)
{
Application.Run(new pdf(pageNumber));
}
Pdf.cs
public pdf(int page)
{
this.axAcroPDF1.src = @"c:\example.pdf";
this.axAcroPDF1.setCurrentPage(page);
}
public void UpdatePDFPage(int page)
{
this.axAcroPDF1.setCurrentPage(page); //Not updating..
//I tried creating delegate, then invoking the method to it
//and still no luck in updating the pdf pages..
}
Pdf.csを行う必要がWinフォームです。あなたのコードは私のコードと同じです。それに感謝してくれてありがとう。 –
"あなたのコードは同じです"とは何を意味するのかわかりません - 参照オブジェクトは** pdfReference = new Pdf(1)**です。 ThreadScreenの内部にあります。コード内にあるスレッドではありません。 – zxed
こんにちは@zxed、 'Application.Run(pdfReference);'は新しいスレッド/ウィンドウを開始しています。私が望むのは、単一のスレッド/ウィンドウです。ご回答有難うございます –