Feedback

C# - Formulare erstellen und Drucken mit .NET

Veröffentlicht von am 21.03.2008
(1 Bewertungen)
Mit diesem Snippet wird als Beispiel ein Formular für eine Banküberweisung erstellt und der Ausdruck erfolgt auf dem Vordruck eines Bankinstituts.
Die auszufüllenden Felder werden mit Regular Expressions validiert und können
manuell angepasst werden.
Die unterschiedlichen Maße der Vordrucke können im PrintDocument1_PrintPage – Eventhandler in Pixel-Maßen variabel angeordnet werden.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace Beispiel_Drucken
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            MTB11.Text = DateTime.Today.ToShortDateString();
        }

        private void B1_Click(object sender, EventArgs e)
        {
            // Fehlerbehandlung ---------------------------------------------------------------

            if (TB1.Text == "")
            {
                MessageBox.Show("Bitte den Namen des Begünstigten eintragen ...", "Drucken mit .NET", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            // Konto-Nr. des Begünstigten -----------------------------------------------------

            string text2 = TB2.Text;
            if (System.Text.RegularExpressions.Regex.IsMatch(text2, @"^[0-9]+$") == false)
            {
                MessageBox.Show("Bitte die Konto-Nr. des Begünstigten eintragen ...", "Drucken mit .NET", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            // Bankleitzahl -------------------------------------------------------------------

            string text3 = TB3.Text;
            if (System.Text.RegularExpressions.Regex.IsMatch(text3, @"^\d{8}$") == false)
            {
                MessageBox.Show("Bitte eine gültige Bankleitzahl eintragen ...", "Drucken mit .NET", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            // Kreditinstitut des Begünstigten ------------------------------------------------

            string text4 = TB4.Text;
            if (TB4.Text == "")
            {
                MessageBox.Show("Bitte das Kreditinstitut des Begünstigten eintragen ...", "Drucken mit .NET", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            // Währung ------------------------------------------------------------------------

            string text5 = TB5.Text;
            if (System.Text.RegularExpressions.Regex.IsMatch(text5, @"^[A-Z]+$") == false)
            {
                MessageBox.Show("Bitte die Währung des Betrages eintragen ...", "Drucken mit .NET", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            // Zu überweisender Betrag --------------------------------------------------------

            string text6 = TB6.Text;
            if (System.Text.RegularExpressions.Regex.IsMatch(text6, @"^\d{1,7}\,\d{1,2}$") == false)
            {
                MessageBox.Show("Bitte den zu überweisenden Betrag eintragen ...", "Drucken mit .NET", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            // Verwendungszweck1 --------------------------------------------------------------

            if (TB7.Text == "")
            {
                MessageBox.Show("Bitte einen Verwendungszweck eintragen ...", "Drucken mit .NET", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            // Verwendungszweck2 --------------------------------------------------------------

            if (TB8.Text == "")
            {
                MessageBox.Show("Bitte einen weiteren Verwendungszweck eintragen ...", "Drucken mit .NET", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            // Kontoinhaber -------------------------------------------------------------------

            string text9 = TB9.Text;
            if (TB9.Text == "")
            {
                MessageBox.Show("Bitte den Namen des Kontoinhabers eintragen ...", "Drucken mit .NET", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            // Konto-Nr. des Kontoinhabers ----------------------------------------------------

            string text10 = TB10.Text;
            if (System.Text.RegularExpressions.Regex.IsMatch(text10, @"^[0-9]+$") == false)
            {
                MessageBox.Show("Bitte die Konto-Nr. des Kontoinhabers eintragen ...", "Drucken mit .NET", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            PrintPreviewDialog1.Document = this.PrintDocument1;

            if (PrintPreviewDialog1.ShowDialog() == DialogResult.OK)
            {
                this.PrintDocument1.Print();
            }
        }

        private void PrintDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {
            Graphics gr = e.Graphics;
            Font fnt = new Font("Arial", 12, FontStyle.Regular);
            Brush br = Brushes.Black;

            string t1 = TB1.Text;                         // Begünstigter 
            gr.DrawString(t1, fnt, br, 23, 51);           // Maße in Pixel 

            string t2 = TB2.Text;                         // Konto-Nr. des Begünstigten 
            gr.DrawString(t2, fnt, br, 23, 85);

            string t3 = TB3.Text;                         // Bankleitzahl 
            gr.DrawString(t3, fnt, br, 399, 85);

            string t4 = TB4.Text;                         // Kreditinstitut des Begünstigten 
            gr.DrawString(t4, fnt, br, 23, 119);

            //string t5 = TB5.Text;                       // Währung 
            //gr.DrawString(t5, fnt, br, 323, 151);

            string t6 = TB6.Text;                         // Betrag 
            gr.DrawString(t6, fnt, br, 323, 152);

            string t7 = TB7.Text;                         // Verwendungszweck1 
            gr.DrawString(t7, fnt, br, 23, 184);

            string t8 = TB8.Text;                         // Verwendungszweck2 
            gr.DrawString(t8, fnt, br, 23, 217);

            string t9 = TB9.Text;                         // Kontoinhaber  
            gr.DrawString(t9, fnt, br, 23, 249);

            string t10 = TB10.Text;                       // Konto des Kontoinhabers 
            gr.DrawString(t10, fnt, br, 23, 284);

            string t11 = MTB11.Text;                      // Datum 
            gr.DrawString(t11, fnt, br, 235, 320);        

            fnt.Dispose();
        }

        
    }
}
Abgelegt unter Formulare, Drucken, Formular, regex.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!