Hallo,
ich habe leider durch googeln keine Antwort gefunden.
In meiner Windows Forms Anwendung habe ich mehrere Panels übereinander und nun möchte ich das oberste Panel jeweils drucken. Momentan frage ich das aktuelle Panel über den gewählten Knoten der TreeView ab.
Folgendes habe ich:
private: System::Void printDocument1_PrintPage(System::Object^ sender, System:
rawing:
rinting:
rintPageEventArgs^ e) {
if (treeViewE->Node->Name == "Knotenname") { //treeViewE ist mein gewählter Knoten, der dann - nach anklicken - das entsprechende Panel auf Show() setzt
Bitmap^ b = gcnew Bitmap(flowLayoutPanelKnotenname->Width, flowLayoutPanelKnotenname->Height);
flowLayoutPanelKnotenname->DrawToBitmap(b, f->PageBounds);
f->Graphics->DrawImage(b, Point(15, 50));
}
}
private: System::Void druckenToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {
printDocument1->Print();
}
Gibt es eine schönere Möglichkeit direkt auf das oberste Panel zuzugreifen, also immer das, das gerade per ->Show() angezeigt wird (alle anderen setze ich auf ->Hide() ) ohne die ganzen if-Abfragen (habe einige Panels übereinander...)?
Vielen Dank schon einmal für die Antwort.
Viele Grüße
ich habe leider durch googeln keine Antwort gefunden.
In meiner Windows Forms Anwendung habe ich mehrere Panels übereinander und nun möchte ich das oberste Panel jeweils drucken. Momentan frage ich das aktuelle Panel über den gewählten Knoten der TreeView ab.
Folgendes habe ich:
private: System::Void printDocument1_PrintPage(System::Object^ sender, System:



if (treeViewE->Node->Name == "Knotenname") { //treeViewE ist mein gewählter Knoten, der dann - nach anklicken - das entsprechende Panel auf Show() setzt
Bitmap^ b = gcnew Bitmap(flowLayoutPanelKnotenname->Width, flowLayoutPanelKnotenname->Height);
flowLayoutPanelKnotenname->DrawToBitmap(b, f->PageBounds);
f->Graphics->DrawImage(b, Point(15, 50));
}
}
private: System::Void druckenToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {
printDocument1->Print();
}
Gibt es eine schönere Möglichkeit direkt auf das oberste Panel zuzugreifen, also immer das, das gerade per ->Show() angezeigt wird (alle anderen setze ich auf ->Hide() ) ohne die ganzen if-Abfragen (habe einige Panels übereinander...)?
Vielen Dank schon einmal für die Antwort.
Viele Grüße