eltacoasado.com

  

Beste Artikel:

  
Main / So drucken Sie die Listenansicht c #

So drucken Sie die Listenansicht c #

Das ListView-Steuerelement unterstützt, wie die meisten Steuerelemente, das Drucken nicht. Angenommen, ein ListView-Steuerelement enthält zu viele Spalten, um auf eine Seite zu passen. Sollte das Programm den Ausdruck auf mehrere Seiten aufteilen? Sollte es im Querformat gedruckt werden? Sollte es die Druckgröße reduzieren? Sollte es einige Spalten ignorieren, die weniger interessante Daten enthalten?

In diesem Beispiel wird eine Druckvorschau des Inhalts eines ListView-Steuerelements angezeigt, dessen View-Eigenschaft auf Details festgelegt ist. Dadurch werden die gedruckten Spalten im Ausdruck so breit, wie sie derzeit im Steuerelement sind. Abhängig von Ihrem Computer passt dies möglicherweise nicht gut auf eine gedruckte Seite. Zum Beispiel ist mein Laptop-Bildschirm breiter als eine 8. In diesem Beispiel wird auch davon ausgegangen, dass alle Daten vertikal auf eine Seite passen.

Ich kann irgendwann ein solches Beispiel machen. Wenn Sie auf die Schaltfläche Vorschau klicken, startet der folgende Ereignishandler den Druckvorgang. Hinter den Kulissen ruft der Dialog das PrintDocument auf, um herauszufinden, was gedruckt werden soll. Das PrintDocument löst dann sein PrintPage-Ereignis aus, damit das Programm ihm sagt, was gedruckt werden soll. Hier finden all die interessanten Arbeiten statt. Der ListView-Parameter mit dem Namen lvw ist das Steuerelement, dessen PrintData-Methode aufgerufen wird.

Die Methode verwendet als Parameter den Ort, an dem das Steuerelement gezeichnet werden soll, und das Grafikobjekt, auf das gezeichnet werden soll. Der Code initialisiert die Variablen x und y so, dass sie die obere linke Ecke des Bereichs sind, in dem das Steuerelement gedruckt werden soll. Der nächste Schritt ist einer der verwirrenderen. Das Steuerelement auf dem Bildschirm misst in Pixel, aber der Drucker und das Grafikobjekt, das ihn darstellt, messen in 100stel Zoll. Damit das Raster und andere gedruckte Elemente richtig ausgerichtet sind, muss der Code von Bildschirmkoordinaten in Druckerkoordinaten übersetzt werden.

Zu diesem Zweck erstellt der Code ein neues Grafikobjekt, das dem ListView-Steuerelement zugeordnet ist. Dieses Grafikobjekt wird so erstellt, als würde es auf dem Bildschirm verwendet. Der Code dividiert dann 100 durch die Bildschirmauflösung, um einen Skalierungsfaktor für die Konvertierung von Pixeln in 100stel Zoll zu erhalten.

Endlich ist der Code druckbereit. Es erstellt ein StringFormat-Objekt und bereitet es darauf vor, Text vertikal und horizontal zu zentrieren. Dazu wird ein RectangleF-Objekt erstellt, das angibt, wo der Header gezeichnet werden soll. Dieses Rechteck F befindet sich an der aktuellen x- und y-Position. Es ist so breit wie die Spalte und so hoch wie die zuvor berechnete Zeilenhöhe. Nachdem alle Überschriften gezeichnet wurden, fügt der Code die Zeilenhöhe zu y hinzu, um die nächste Datenzeile zu zeichnen, die um eine Zeile nach unten verschoben wird. Jetzt zeichnet das Programm die Daten.

Für jede Zeile setzt der Code x an den linken Rand der Stelle zurück, an der die Methode gedruckt werden soll. Als nächstes durchläuft der Code die Daten in der Zeile, zeichnet jeden Text und zeichnet dann ein Rechteck um ihn herum.

Es gibt Versionen, die ein Rechteck oder vier int- oder float-Werte annehmen, aber keine, die ein RechteckF annehmen. Um das Zeichnen von Rechtecken zu vereinfachen, habe ich der Grafikklasse die folgende überladene Erweiterungsmethode hinzugefügt. Wo ich den Programmcode ändern muss, um erfolgreich 1000 Zeilen zu drucken, habe ich mein Bestes versucht, konnte es aber nicht.

Ich liebe und mag es, ich habe es bekommen, was ich will. Es sieht so aus, als würde diese Codezeile versuchen, ein ListView-Steuerelement in ein Formular zu konvertieren. Haben Sie das Beispielprogramm heruntergeladen? Laden Sie das Beispiel herunter und sehen Sie es sich an. Es sollte funktionieren. DrawString-Element.

Text, lvw. Parametername: Die ListView erstellt gerne ein Element mit weniger Unterelementen. Die Add-Methode verwendet eine Zeichenfolge als Parameter. Übergeben Sie das Datum als Zeichenfolge an das Steuerelement? Wenn ja, müssen Sie es nur so formatieren, dass es nur das Datum und nicht die Uhrzeit enthält. Setzen Sie diesen Eintrag im Werte-Array beispielsweise auf einen der folgenden Werte:

Sir, ich möchte eine PDF-Datei und eine Word-Datei öffnen, indem ich auf eine Schaltfläche klicke und wenn der Benutzer die Word- oder PDF-Datei aktualisiert, erfolgt die Aktualisierung auch durch Öffnen der Datei aus der c-Anwendung. Kannst du mir helfen. Sir Ich möchte Daten in der Datagrid-Ansicht von MS Access anzeigen, indem ich den Radiobutton auswähle. Kann ich die Hilfe bekommen? Danke, Sir.

Das ist ziemlich weit vom Thema entfernt. Es wäre besser, wenn Sie nach einem Beispiel suchen, das Ihrer Frage entspricht. Es gibt verschiedene Möglichkeiten, dies zu tun. Sie können die Datensätze selbst auswählen und zur DataGridView hinzufügen. Erstellen Sie zunächst eine neue Datenbankverbindung. Ziehen Sie dann im Fenster Datenquellen die gewünschte Tabelle auf das Formular. Deine Email-Adresse wird nicht veröffentlicht. Diese Seite verwendet Akismet, um Spam zu reduzieren.

Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden. C Helfer. Zum Inhalt springen. An diesem Punkt können Sie wahrscheinlich sehen, dass jedes Druckprogramm viele Annahmen erfordert. PrintData e. Ort, e. Grafiken, Pinsel. Blau, Pinsel. Schwarz, Stifte. MeasureString lvw. DrawString lvw. In der Nähe von; Unterbrechung; case HorizontalAlignment. Center; Unterbrechung; case HorizontalAlignment. DrawRectangle-Stift, rectf. Links, rectf. Oben, rectf.

Breite, rectf. Dieser Eintrag wurde veröffentlicht in Steuerelemente, Zeichnen, Grafiken, Drucken und verschlagwortet mit C, C-Programmierung, Steuerelemente, Zeichnen, Beispiel, Beispielprogramm, Grafiken, ListView, Drucken von ListView, Drucken von ListView-Inhalten, Drucken von ListView-Daten, Drucken, Windows Forms-Programmierung.

Setzen Sie ein Lesezeichen für den Permalink. 11. Februar 2013 um 8 Uhr: Rod Stephens sagt: 12. Februar 2013 um 11 Uhr: Hier sind die verwandten Beiträge: Satya sagt: 1. Juni 2015 um 8 Uhr: Hallo, es funktioniert gut, aber ich stehe hier vor einem Problem. Danke im Voraus. RodStephens sagt: 1. Juni 2015 um 9: Siehe diesen Beitrag: 1. Juni 2015 um 11: Nochmals vielen, vielen Dank dafür. Grüße, Satya. Anil Raina sagt: 20. Juli 2015 um 10: 21. Juli 2015 um 9: 21. Juli 2015 um 11: 22. Juli 2015 um 8:

(с) 2019 eltacoasado.com