2017-10-10 11 views
-1

Ich versuche eine Windows Form Application zu erstellen und habe Probleme beim Hinzufügen eines printviewdialogs zum Formular selbst. Code unten blendet den Druckansichtdialog ein, bevor das Formular angezeigt wird.Problem beim Hinzufügen von printviewdialog zu Windows Formular

Code:

//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); 
} 

bekommen einen Fehler bei: "this.Controls.Add (printViewDialog);"

Fehler: "Kann Element des höchsten Niveaus zu einem anderen Element hinzufügen."

Antwort

0

versuchen

printViewDialog.TopLevel = false; 

zu verwenden, bevor Sie es hinzufügen.

+0

Das wird nicht funktionieren. Ich habe es schon ausprobiert. –

+0

Ja, funktioniert auch nicht für mich. – Niels

0

Ich habe PrintPreviewControl verwendet, um mein Problem zu lösen, danke sowieso Jungs!

Dragged Printpreview in meiner Form, und verwendet den Code für einige meiner Einstellungen:

//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); 
Verwandte Themen