2017-10-10 5 views
-1

私はWindowsフォームアプリケーションを作成しようとしていますが、フォーム自体にprintviewdialogを追加する際に問題があります。下のコードは、フォームを表示する前にprintviewdialogをポップアップします。Windowsフォームへのprintviewdialogの追加に問題がある

コード:

//Variables 
PrintPreviewDialog printViewDialog = new PrintPreviewDialog(); 

public Form1() 
{ 
    InitializeComponent(); 
    initComponents(); 
} 

public void initComponents() 
{ 
    printViewDialog.ClientSize = new System.Drawing.Size(500, 400); 
    printViewDialog.Location = new System.Drawing.Point(0, 0); 
    printViewDialog.ShowDialog(); 
    this.Controls.Add(printViewDialog); 
} 

でエラーを取得する: "this.Controls.Add(printViewDialog);"

エラー:「別の要素に最高レベルのニーバーウを追加します。」

答えて

0

は、あなたがそれを追加する前に

printViewDialog.TopLevel = false; 

を使用するようにしてください。

+0

をこれは動作しません。私はすでにそれを試しました。 –

+0

はい、私のためにもうまくいきません。 – Niels

0

PrintPreviewControlを使用して問題を解決しました。ありがとうございました!

は私のフォームにPrintPreviewControlをドラッグし、私の設定の一部については、以下のコードを使用:

//Get responsive width and height. 
System.Drawing.Rectangle workingRectangle = Screen.PrimaryScreen.WorkingArea; 
int height = workingRectangle.Height; 
int width = workingRectangle.Width/100 * 75; 

//Settings printPreviewControl 
printPreviewControl1.ClientSize = new System.Drawing.Size(width, height); 
printPreviewControl1.Location = new System.Drawing.Point(0, 0); 
関連する問題