c# - Visual Studio - Tabs Drucken

OP #2933528
Lesenswert?

Ich würde gerne zwei Tabs auf einmal ausdrucken, aber bisher kann ich 
jeweils nur immer einen Tab drucken.

Kann mir evtl. jemand einen Tipp geben, wie ich das hinbekomme?

Meine Druckfunktion ist beigefügt.
Angehängte Dateien:
#2934189
Lesenswert?

Hallo Alex Dau,

also auf die Art würde ich das nicht drucken. Einfach ein Screenshot von 
nem Control machen und den drucken ist Mist. Lass mal irgendetwas über 
der Form liegen und schon bekommst du Mist gedruckt. Besser wäre da, 
wenn du mit den Daten aus der Form ein schickes PDF oder was auch immer 
erstellst.

Wie auch immer. Um mit deinem Code mehrere Tabs zu drucken, habe ich 
deine Methode "PrintControl" etwas angepasst. Leider musst du auf diese 
Art immer für jeden Tab eine eigene Datei auswählen. Schau es dir 
einfach mal an und denk am Besten noch über eine andere Lösung als den 
Screenshot nach.
1
public static void PrintControl(Control control, PrinterSettings printerSettings, bool allTabs)
2
            {
3
                m_ControlToPrint = control;
4
                using (PrintDocument printDoc = new PrintDocument())
5
                {
6
                    printDoc.PrinterSettings = printerSettings;
7
                    printDoc.PrintPage += new PrintPageEventHandler(printDoc_PrintPage);
8

9
                    printDoc.DocumentName = "Screenshot";
10

11
                    printDoc.DefaultPageSettings.Margins = new Margins(50, 50, 50, 50);
12
                    printDoc.DefaultPageSettings.Landscape = (m_ControlToPrint.Width > m_ControlToPrint.Height);
13
                    printDoc.DefaultPageSettings.Color = printDoc.PrinterSettings.DefaultPageSettings.Color;
14
                    printDoc.PrintController = new StandardPrintController();
15

16
                    if (!allTabs)
17
                    {
18
                        printDoc.Print();
19
                    }
20
                    else
21
                    {
22
                        foreach (Control ctrl in control.Controls)
23
                        {
24
                            if (ctrl.GetType() == typeof(TabControl))
25
                            {
26
                                TabControl tctrl = (TabControl)ctrl;
27
                                for (int i = 0; i < tctrl.TabCount; i++)
28
                                {
29
                                    tctrl.SelectTab(i);
30
                                    printDoc.Print();
31
                                }
32
                                break;
33
                            }
34
                        }
35
                    }
36

37
                    printDoc.PrintPage -= new PrintPageEventHandler(printDoc_PrintPage);
38
                }
39
            }
1
        private void Drucken_Eingabe_Click(object sender, EventArgs e)
2
        {
3
            Print.PrintControl(this, new PrinterSettings(), false);
4
        }
5

6
        private void Drucken_Ausgabe_Click(object sender, EventArgs e)
7
        {
8
            Print.PrintControl(this, new PrinterSettings(), false);
9
        }
10

11
        private void allesDruckenToolStripMenuItem_Click(object sender, EventArgs e)
12
        {
13
            Print.PrintControl(this, new PrinterSettings(), true);
14
        }
OP #2934552
Lesenswert?

Vielen Dank für deine Mühen A. V,

aber ich habe deinen Code ausprobiert und es wird dennoch nur jeweils 
ein Seite gedruckt.

Ich habe deinen Code 1:1 übernommen und das Menuitem eingefügt und 
umbenannt.

1
using System;
2
using System.Collections.Generic;
3
using System.ComponentModel;
4
using System.Data;
5
using System.Drawing;
6
using System.Linq;
7
using System.Text;
8
using System.Windows.Forms;
9
using System.IO;
10
using System.Drawing.Printing;
11
using System.Drawing.Imaging;
12

13

14
namespace Visual_Am1012
15
{
16
    public partial class Form1 : Form
17
    {
18

19
        public static class Print
20
        {
21
            private static Control m_ControlToPrint;
22

23
            public static void PrintControl(Control control, PrinterSettings printerSettings, bool allTabs)
24
            {
25
                m_ControlToPrint = control;
26
                using (PrintDocument printDoc = new PrintDocument())
27
                {
28
                    printDoc.PrinterSettings = printerSettings;
29
                    printDoc.PrintPage += new PrintPageEventHandler(printDoc_PrintPage);
30

31
                    printDoc.DocumentName = "Screenshot";
32

33
                    printDoc.DefaultPageSettings.Margins = new Margins(50, 50, 50, 50);
34
                    printDoc.DefaultPageSettings.Landscape = (m_ControlToPrint.Width > m_ControlToPrint.Height);
35
                    printDoc.DefaultPageSettings.Color = printDoc.PrinterSettings.DefaultPageSettings.Color;
36
                    printDoc.PrintController = new StandardPrintController();
37

38
                    if (!allTabs)
39
                    {
40
                        printDoc.Print();
41
                    }
42
                    else
43
                    {
44
                        foreach (Control ctrl in control.Controls)
45
                        {
46
                            if (ctrl.GetType() == typeof(TabControl))
47
                            {
48
                                TabControl tctrl = (TabControl)ctrl;
49
                                for (int i = 0; i < tctrl.TabCount; i++)
50
                                {
51
                                    tctrl.SelectTab(i);
52
                                    printDoc.Print();
53
                                }
54
                                break;
55
                            }
56
                        }
57
                    }
58

59
                    printDoc.PrintPage -= new PrintPageEventHandler(printDoc_PrintPage);
60
                }
61
            }
62

63

64
            private static void printDoc_PrintPage(object sender, PrintPageEventArgs e)
65
            {
66
                Image bmp = CaptureControl(m_ControlToPrint);
67
                int height = (bmp.Height * e.MarginBounds.Width) / bmp.Width;
68

69
                Rectangle destRect;
70

71
                if (height > e.MarginBounds.Height)
72
                {
73
                    destRect = new Rectangle(e.MarginBounds.X, e.MarginBounds.Y,
74
                        (bmp.Width * e.MarginBounds.Height) / bmp.Height,
75
                        e.MarginBounds.Height);
76
                }
77
                else
78
                {
79
                    destRect = new Rectangle(e.MarginBounds.X, e.MarginBounds.Y, e.MarginBounds.Width,
80
                        height);
81
                }
82
                e.Graphics.DrawImage(bmp, destRect);
83
            }
84

85
            private static Bitmap CaptureControl(Control ctl)
86
            {
87
                Rectangle rect;
88

89
                if (ctl is Form)
90
                    rect = new Rectangle(ctl.Location, ctl.Size);
91
                else
92
                    rect = new Rectangle(ctl.PointToScreen(new Point(0, 0)), ctl.Size);
93

94
                Bitmap bitmap = new Bitmap(rect.Width, rect.Height, PixelFormat.Format32bppArgb);
95

96
                using (Graphics g = Graphics.FromImage(bitmap))
97
                {
98
                    g.CopyFromScreen(rect.Left, rect.Top, 0, 0, bitmap.Size, CopyPixelOperation.SourceCopy);
99
                }
100

101
                return bitmap;
102
            }
103

104
        }
105

106

107

108

109
        public Form1()
110
        {
111
            InitializeComponent();
112
            Datum_Eingabe.Text = DateTime.Today.ToShortDateString();
113
            Datum_Ausgabe.Text = DateTime.Today.ToShortDateString();
114

115

116
    
117
            int Schulter_Frau;
118
            int Lordose1_Frau;
119
            int Lordose2_Frau;
120
            int Becken_Frau;
121
            int Knie_Frau;
122

123
            int Körpergröße_Mann;
124
            int Körpergewicht_Mann;
125
            int Schulter_Mann;
126
            int Lordose1_Mann;
127
            int Lordose2_Mann;
128
            int Becken_Mann;
129
            int Knie_Mann;
130

131
    
132

133
        }
134
        
135

136
        private void Form1_Load(object sender, EventArgs e)
137

138
        {
139

140
            
141

142
        }
143

144

145

146
        private void Start_Click(object sender, EventArgs e)
147
        {
148

149
            Nachnahme_Ausgabe_Mann.Text = Nachnahme_Eingabe_Mann.Text;
150
            Vornahme_Ausgabe_Mann.Text = Vornahme_Eingabe_Mann.Text;
151
            Nachnahme_Ausgabe_Frau.Text = Nachnahme_Eingabe_Frau.Text;
152
            Vornahme_Ausgabe_Frau.Text = Vornahme_Eingabe_Frau.Text;
153
            Fachberater_Ausgabe.Text = Fachberater_Eingabe.Text;
154

155

156
            Matratzenfestigkeit_Frau();
157
            Matratzenfestigkeit_Mann();
158
            Leisten234_Frau();
159
            Leisten234_Mann();
160
            Leisten56_Frau();
161
            Leisten56_Mann();
162
            Leisten78_Frau();
163
            Leisten78_Mann();
164
            Leisten910_Mann();
165
            Leisten910_Frau();
166
            
167
         }
168

169

170

171
        private void Laden_Click(object sender, EventArgs e)
172
        {
173
            openFileDialog1.ShowDialog();
174
            string filename = openFileDialog1.FileName;
175

176
            StreamReader sr = new StreamReader(filename);
177
            Nachnahme_Eingabe_Mann.Text = sr.ReadLine();
178
            Vornahme_Eingabe_Mann.Text = sr.ReadLine();
179
            
180
            Nachnahme_Eingabe_Frau.Text = sr.ReadLine();
181
            Vornahme_Eingabe_Frau.Text = sr.ReadLine();
182

183

184
            Datum_Eingabe.Text = sr.ReadLine();
185
            Fachberater_Eingabe.Text = sr.ReadLine();
186
            sr.Close();
187

188

189
        }
190

191
        private void Matratzenfestigkeit_Frau()
192
        {
193

194

195

196
            int Körpergrößew;
197
            int Körpergewichtw;
198

199

200
            try
201
            {
202

203
                Körpergrößew = int.Parse(Körpergröße_Frau.Text);
204
                Körpergewichtw = int.Parse(Körpergewicht_Frau.Text);
205
            }
206

207
            catch
208
            {
209

210
                MessageBox.Show("Bitte geben Sie die Körpergröße der Frau ein!");
211
                return;
212

213
            }
214

215

216
            if (Körpergrößew >= 200)
217
            {
218

219
                if (Körpergewichtw >= 90.5) { Fest_Frau.Checked = true; }
220
                else if (Körpergewichtw >= 70) { Medium_Frau.Checked = true; }
221
                else if (Körpergewichtw >= 0) { Soft_Frau.Checked = true; }
222

223
            }
224

225

226

227
            else if (Körpergrößew >= 195)
228
            {
229
                if (Körpergewichtw >= 92.5) { Fest_Frau.Checked = true; }
230
                else if (Körpergewichtw >= 67.5) { Medium_Frau.Checked = true; }
231
                else if (Körpergewichtw >= 0) { Soft_Frau.Checked = true; }
232
            }
233

234

235
            else if (Körpergrößew >= 190)
236
            {
237
                if (Körpergewichtw >= 90) { Fest_Frau.Checked = true; }
238
                else if (Körpergewichtw >= 67.5) { Medium_Frau.Checked = true; }
239
                else if (Körpergewichtw >= 0) { Soft_Frau.Checked = true; }
240
            }
241

242
            else if (Körpergrößew >= 185)
243
            {
244
                if (Körpergewichtw >= 87.5) { Fest_Frau.Checked = true; }
245
                else if (Körpergewichtw >= 67.5) { Medium_Frau.Checked = true; }
246
                else if (Körpergewichtw >= 0) { Soft_Frau.Checked = true; }
247
            }
248

249
            else if (Körpergrößew >= 180)
250
            {
251
                if (Körpergewichtw >= 85) { Fest_Frau.Checked = true; }
252
                else if (Körpergewichtw >= 65) { Medium_Frau.Checked = true; }
253
                else if (Körpergewichtw >= 0) { Soft_Frau.Checked = true; }
254
            }
255

256
            else if (Körpergrößew >= 175)
257
            {
258
                if (Körpergewichtw >= 82.5) { Fest_Frau.Checked = true; }
259
                else if (Körpergewichtw >= 62.5) { Medium_Frau.Checked = true; }
260
                else if (Körpergewichtw >= 0) { Soft_Frau.Checked = true; }
261
            }
262

263
            else if (Körpergrößew >= 170)
264
            {
265
                if (Körpergewichtw >= 80) { Fest_Frau.Checked = true; }
266
                else if (Körpergewichtw >= 60) { Medium_Frau.Checked = true; }
267
                else if (Körpergewichtw >= 0) { Soft_Frau.Checked = true; }
268
            }
269

270
            else if (Körpergrößew >= 165)
271
            {
272
                if (Körpergewichtw >= 75) { Fest_Frau.Checked = true; }
273
                else if (Körpergewichtw >= 57.5) { Medium_Frau.Checked = true; }
274
                else if (Körpergewichtw >= 0) { Soft_Frau.Checked = true; }
275
            }
276

277
            else if (Körpergrößew >= 160)
278
            {
279
                if (Körpergewichtw >= 72.5) { Fest_Frau.Checked = true; }
280
                else if (Körpergewichtw >= 57.5) { Medium_Frau.Checked = true; }
281
                else if (Körpergewichtw >= 0) { Soft_Frau.Checked = true; }
282
            }
283

284
            else if (Körpergrößew >= 155)
285
            {
286
                if (Körpergewichtw >= 67.5) { Fest_Frau.Checked = true; }
287
                else if (Körpergewichtw >= 52.5) { Medium_Frau.Checked = true; }
288
                else if (Körpergewichtw >= 0) { Soft_Frau.Checked = true; }
289
            }
290

291
            else if (Körpergrößew >= 150)
292
            {
293
                if (Körpergewichtw >= 65) { Fest_Frau.Checked = true; }
294
                else if (Körpergewichtw >= 47.5) { Medium_Frau.Checked = true; }
295
                else if (Körpergewichtw >= 0) { Soft_Frau.Checked = true; }
296
            }
297

298

299
            else if (Körpergrößew >= 145)
300
            {
301
                if (Körpergewichtw >= 60) { Fest_Frau.Checked = true; }
302
                else if (Körpergewichtw >= 42.5) { Medium_Frau.Checked = true; }
303
                else if (Körpergewichtw >= 0) { Soft_Frau.Checked = true; }
304
            }
305

306

307
            else
308
            {
309
                MessageBox.Show("Bitte geben Sie die Körpergröße der Frau ein!");
310
                return;
311
            }
312

313
        }
314
        private void Matratzenfestigkeit_Mann()
315
        {
316

317

318

319
            int Körpergrößem;
320
            int Körpergewichtm;
321

322

323
            try
324
            {
325

326
                Körpergrößem = int.Parse(Körpergröße_Mann.Text);
327
                Körpergewichtm = int.Parse(Körpergewicht_Mann.Text);
328
            }
329

330
            catch
331
            {
332

333
                MessageBox.Show("Bitte geben Sie die Körpergröße der Mann ein!");
334
                return;
335

336
            }
337

338

339
            if (Körpergrößem >= 200)
340
            {
341

342
                if (Körpergewichtm >= 90.5) { Fest_Mann.Checked = true; }
343
                else if (Körpergewichtm >= 70) { Medium_Mann.Checked = true; }
344
                else if (Körpergewichtm >= 0) { Soft_Mann.Checked = true; }
345

346
            }
347

348

349

350
            else if (Körpergrößem >= 195)
351
            {
352
                if (Körpergewichtm >= 92.5) { Fest_Mann.Checked = true; }
353
                else if (Körpergewichtm >= 67.5) { Medium_Mann.Checked = true; }
354
                else if (Körpergewichtm >= 0) { Soft_Mann.Checked = true; }
355
            }
356

357

358
            else if (Körpergrößem >= 190)
359
            {
360
                if (Körpergewichtm >= 90) { Fest_Mann.Checked = true; }
361
                else if (Körpergewichtm >= 67.5) { Medium_Mann.Checked = true; }
362
                else if (Körpergewichtm >= 0) { Soft_Mann.Checked = true; }
363
            }
364

365
            else if (Körpergrößem >= 185)
366
            {
367
                if (Körpergewichtm >= 87.5) { Fest_Mann.Checked = true; }
368
                else if (Körpergewichtm >= 67.5) { Medium_Mann.Checked = true; }
369
                else if (Körpergewichtm >= 0) { Soft_Mann.Checked = true; }
370
            }
371

372
            else if (Körpergrößem >= 180)
373
            {
374
                if (Körpergewichtm >= 85) { Fest_Mann.Checked = true; }
375
                else if (Körpergewichtm >= 65) { Medium_Mann.Checked = true; }
376
                else if (Körpergewichtm >= 0) { Soft_Mann.Checked = true; }
377
            }
378

379
            else if (Körpergrößem >= 175)
380
            {
381
                if (Körpergewichtm >= 82.5) { Fest_Mann.Checked = true; }
382
                else if (Körpergewichtm >= 62.5) { Medium_Mann.Checked = true; }
383
                else if (Körpergewichtm >= 0) { Soft_Mann.Checked = true; }
384
            }
385

386
            else if (Körpergrößem >= 170)
387
            {
388
                if (Körpergewichtm >= 80) { Fest_Mann.Checked = true; }
389
                else if (Körpergewichtm >= 60) { Medium_Mann.Checked = true; }
390
                else if (Körpergewichtm >= 0) { Soft_Mann.Checked = true; }
391
            }
392

393
            else if (Körpergrößem >= 165)
394
            {
395
                if (Körpergewichtm >= 75) { Fest_Mann.Checked = true; }
396
                else if (Körpergewichtm >= 57.5) { Medium_Mann.Checked = true; }
397
                else if (Körpergewichtm >= 0) { Soft_Mann.Checked = true; }
398
            }
399

400
            else if (Körpergrößem >= 160)
401
            {
402
                if (Körpergewichtm >= 72.5) { Fest_Mann.Checked = true; }
403
                else if (Körpergewichtm >= 57.5) { Medium_Mann.Checked = true; }
404
                else if (Körpergewichtm >= 0) { Soft_Mann.Checked = true; }
405
            }
406

407
            else if (Körpergrößem >= 155)
408
            {
409
                if (Körpergewichtm >= 67.5) { Fest_Mann.Checked = true; }
410
                else if (Körpergewichtm >= 52.5) { Medium_Mann.Checked = true; }
411
                else if (Körpergewichtm >= 0) { Soft_Mann.Checked = true; }
412
            }
413

414
            else if (Körpergrößem >= 150)
415
            {
416
                if (Körpergewichtm >= 65) { Fest_Mann.Checked = true; }
417
                else if (Körpergewichtm >= 47.5) { Medium_Mann.Checked = true; }
418
                else if (Körpergewichtm >= 0) { Soft_Mann.Checked = true; }
419
            }
420

421

422
            else if (Körpergrößem >= 145)
423
            {
424
                if (Körpergewichtm >= 60) { Fest_Mann.Checked = true; }
425
                else if (Körpergewichtm >= 42.5) { Medium_Mann.Checked = true; }
426
                else if (Körpergewichtm >= 0) { Soft_Mann.Checked = true; }
427
            }
428

429

430
            else
431
            {
432
                MessageBox.Show("Bitte geben Sie die Körpergröße des Mann ein!");
433
                return;
434
            }
435

436
        }
437
        private void Leisten234_Frau()
438
        {
439

440
            int EingabeZahl = 0;
441

442

443
            try
444
            {
445

446
                EingabeZahl = int.Parse(Schulter_Frau.Text);
447

448
            }
449

450
            catch
451
            {
452

453
                MessageBox.Show("Bitte bei der Dame nur Zahlen eingeben!");
454
                return;
455

456
            }
457

458

459

460

461
            if (Seitenschlaefer_Frau.Checked == true)
462

463
                if (EingabeZahl >= 42.5)
464
                {
465

466
                    Leiste2_Frau.Text = "t";
467
                    Leiste3_Frau.Text = "tt";
468
                    Leiste4_Frau.Text = "t";
469
                }
470

471
                else
472
                {
473

474
                    Leiste2_Frau.Text = "t";
475
                    Leiste3_Frau.Text = "t";
476
                    Leiste4_Frau.Text = "t";
477

478
                }
479

480

481

482
            else if (Rueckenschlaefer_Frau.Checked == true)
483

484
                if (EingabeZahl >= 41)
485
                {
486

487
                    Leiste2_Frau.Text = "t";
488
                    Leiste3_Frau.Text = "t";
489
                    Leiste4_Frau.Text = "t";
490
                }
491

492
                else
493
                {
494

495
                    Leiste2_Frau.Text = "X";
496
                    Leiste3_Frau.Text = "X";
497
                    Leiste4_Frau.Text = "X";
498

499
                }
500

501

502

503
            else if (Mischschlaefer_Frau.Checked == true)
504

505
                if (EingabeZahl >= 45)
506
                {
507

508
                    Leiste2_Frau.Text = "t";
509
                    Leiste3_Frau.Text = "tt";
510
                    Leiste4_Frau.Text = "t";
511
                }
512

513
                else
514
                {
515

516
                    Leiste2_Frau.Text = "t";
517
                    Leiste3_Frau.Text = "t";
518
                    Leiste4_Frau.Text = "t";
519

520
                }
521

522

523
            else
524
            {
525
                EingabeZahl = 0;
526
                Leiste2_Frau.Text = "XX";
527
            }
528

529

530

531

532
        }
533
        private void Leisten234_Mann()
534
        {
535

536
            int EingabeZahlm;
537

538
            try
539
            {
540

541
                EingabeZahlm = int.Parse(Schulter_Mann.Text);
542

543
            }
544

545
            catch
546
            {
547

548
                MessageBox.Show("Bitte bei dem Herrn nur Zahlen eingeben!");
549
                return;
550

551
            }
552

553

554
            if (Seitenschlaefer_Mann.Checked == true)
555

556
                if (EingabeZahlm >= 52)
557
                {
558
                    Leiste2_Mann.Text = "tt";
559
                    Leiste3_Mann.Text = "tt";
560
                    Leiste4_Mann.Text = "t";
561
                }
562

563
                else
564
                {
565
                    Leiste2_Mann.Text = "t";
566
                    Leiste3_Mann.Text = "tt";
567
                    Leiste4_Mann.Text = "t";
568

569
                }
570

571

572

573
            else if (Rueckenschlaefer_Mann.Checked == true)
574

575
                if (EingabeZahlm >= 47)
576
                {
577
                    Leiste2_Mann.Text = "t";
578
                    Leiste3_Mann.Text = "t";
579
                    Leiste4_Mann.Text = "t";
580
                }
581

582
                else
583
                {
584
                    Leiste2_Mann.Text = "X";
585
                    Leiste3_Mann.Text = "X";
586
                    Leiste4_Mann.Text = "X";
587

588
                }
589

590

591

592

593
            else if (Mischschlaefer_Mann.Checked == true)
594

595
                if (EingabeZahlm >= 50)
596
                {
597
                    Leiste2_Mann.Text = "t";
598
                    Leiste3_Mann.Text = "tt";
599
                    Leiste4_Mann.Text = "t";
600
                }
601

602
                else
603
                {
604
                    Leiste2_Mann.Text = "t";
605
                    Leiste3_Mann.Text = "t";
606
                    Leiste4_Mann.Text = "t";
607

608
                }
609

610

611
            else
612
            {
613
                Leiste2_Mann.Text = "XX";
614
            }
615
        }
616
        private void Leisten56_Frau()
617
        {
618

619
            int EingabeZahl = 0;
620
            int EingabeZahl2 = 0;
621

622

623
            try
624
            {
625

626
                EingabeZahl = int.Parse(Lordose1_Frau.Text);
627
                EingabeZahl2 = int.Parse(Lordose2_Frau.Text);
628

629
            }
630

631
            catch
632
            {
633

634
                MessageBox.Show("asdf");
635
                return;
636

637
            }
638

639

640

641

642
            if (Seitenschlaefer_Frau.Checked == true)
643

644
                if (EingabeZahl >= 65)
645
                {
646
                    if (Soft_Frau.Checked == true)
647
                    {
648

649
                        Leiste5_Frau.Text = "3";
650
                        Leiste6_Frau.Text = "3";
651

652
                    }
653

654
                    if (Medium_Frau.Checked == true)
655
                    {
656
                        Leiste5_Frau.Text = "4";
657
                        Leiste6_Frau.Text = "4";
658

659

660
                    }
661

662
                    if (Fest_Frau.Checked == true)
663
                    {
664
                        Leiste5_Frau.Text = "1H";
665
                        Leiste6_Frau.Text = "1H";
666

667

668
                    }
669

670

671

672
                }
673

674
                else
675
                {
676

677
                    if (Soft_Frau.Checked == true)
678
                    {
679

680
                        Leiste5_Frau.Text = "4";
681
                        Leiste6_Frau.Text = "2";
682

683
                    }
684

685
                    if (Medium_Frau.Checked == true)
686
                    {
687
                        Leiste5_Frau.Text = "1H";
688
                        Leiste6_Frau.Text = "3";
689

690

691
                    }
692

693
                    if (Fest_Frau.Checked == true)
694
                    {
695
                        Leiste5_Frau.Text = "2H";
696
                        Leiste6_Frau.Text = "4";
697

698

699
                    }
700

701
                }
702

703

704

705
            else if (Rueckenschlaefer_Frau.Checked == true)
706

707
                if (EingabeZahl >= 65)
708
                {
709
                    if (EingabeZahl2 >= 60)
710
                    {
711
                        if (Soft_Frau.Checked == true) { Leiste5_Frau.Text = "1H"; Leiste6_Frau.Text = "1H"; }
712
                        if (Medium_Frau.Checked == true) { Leiste5_Frau.Text = "2H"; Leiste6_Frau.Text = "2H"; }
713
                        if (Fest_Frau.Checked == true) { Leiste5_Frau.Text = "3H"; Leiste6_Frau.Text = "3H"; }
714

715

716
                    }
717

718
                    else if (EingabeZahl2 >= 45)
719
                    {
720
                        if (Soft_Frau.Checked == true) { Leiste5_Frau.Text = "4"; Leiste6_Frau.Text = "4"; }
721
                        if (Medium_Frau.Checked == true) { Leiste5_Frau.Text = "1H"; Leiste6_Frau.Text = "1H"; }
722
                        if (Fest_Frau.Checked == true) { Leiste5_Frau.Text = "2H"; Leiste6_Frau.Text = "2H"; }
723

724
                    }
725

726

727
                    else if (EingabeZahl2 >= 30)
728
                    {
729
                        if (Soft_Frau.Checked == true) { Leiste5_Frau.Text = "3"; Leiste6_Frau.Text = "3"; }
730
                        if (Medium_Frau.Checked == true) { Leiste5_Frau.Text = "4"; Leiste6_Frau.Text = "4"; }
731
                        if (Fest_Frau.Checked == true) { Leiste5_Frau.Text = "1H"; Leiste6_Frau.Text = "1H"; }
732

733
                    }
734

735
                    else
736
                    {
737
                        if (Soft_Frau.Checked == true) { Leiste5_Frau.Text = "2"; Leiste6_Frau.Text = "2"; }
738
                        if (Medium_Frau.Checked == true) { Leiste5_Frau.Text = "3"; Leiste6_Frau.Text = "3"; }
739
                        if (Fest_Frau.Checked == true) { Leiste5_Frau.Text = "4"; Leiste6_Frau.Text = "4"; }
740

741
                    }
742

743

744
                }
745

746
                else
747
                {
748

749

750
                    if (EingabeZahl2 >= 60)
751
                    {
752
                        if (Soft_Frau.Checked == true) { Leiste5_Frau.Text = "4H"; Leiste6_Frau.Text = "2"; }
753
                        if (Medium_Frau.Checked == true) { Leiste5_Frau.Text = "1HH"; Leiste6_Frau.Text = "3"; }
754
                        if (Fest_Frau.Checked == true) { Leiste5_Frau.Text = "2HH"; Leiste6_Frau.Text = "4"; }
755

756

757
                    }
758

759
                    else if (EingabeZahl2 >= 45)
760
                    {
761
                        if (Soft_Frau.Checked == true) { Leiste5_Frau.Text = "2H"; Leiste6_Frau.Text = "2"; }
762
                        if (Medium_Frau.Checked == true) { Leiste5_Frau.Text = "3H"; Leiste6_Frau.Text = "3"; }
763
                        if (Fest_Frau.Checked == true) { Leiste5_Frau.Text = "4H"; Leiste6_Frau.Text = "4"; }
764

765
                    }
766

767

768
                    else if (EingabeZahl2 >= 30)
769
                    {
770
                        if (Soft_Frau.Checked == true) { Leiste5_Frau.Text = "4"; Leiste6_Frau.Text = "2"; }
771
                        if (Medium_Frau.Checked == true) { Leiste5_Frau.Text = "1H"; Leiste6_Frau.Text = "3"; }
772
                        if (Fest_Frau.Checked == true) { Leiste5_Frau.Text = "2H"; Leiste6_Frau.Text = "4"; }
773

774
                    }
775

776
                    else
777
                    {
778
                        if (Soft_Frau.Checked == true) { Leiste5_Frau.Text = "2"; Leiste6_Frau.Text = "2"; }
779
                        if (Medium_Frau.Checked == true) { Leiste5_Frau.Text = "1H"; Leiste6_Frau.Text = "3"; }
780
                        if (Fest_Frau.Checked == true) { Leiste5_Frau.Text = "2H"; Leiste6_Frau.Text = "4"; }
781

782
                    }
783

784

785

786
                }
787

788

789

790

791
            else if (Mischschlaefer_Frau.Checked == true)
792
            {
793
                if (EingabeZahl >= 65)
794
                {
795
                    if (EingabeZahl2 >= 45)
796
                    {
797
                        if (Soft_Frau.Checked == true) { Leiste5_Frau.Text = "4"; Leiste6_Frau.Text = "4"; }
798
                        if (Medium_Frau.Checked == true) { Leiste5_Frau.Text = "1H"; Leiste6_Frau.Text = "1H"; }
799
                        if (Fest_Frau.Checked == true) { Leiste5_Frau.Text = "2H"; Leiste6_Frau.Text = "2H"; }
800

801

802
                    }
803

804
                    else
805
                    {
806
                        if (Soft_Frau.Checked == true) { Leiste5_Frau.Text = "3"; Leiste6_Frau.Text = "3"; }
807
                        if (Medium_Frau.Checked == true) { Leiste5_Frau.Text = "4"; Leiste6_Frau.Text = "4"; }
808
                        if (Fest_Frau.Checked == true) { Leiste5_Frau.Text = "1H"; Leiste6_Frau.Text = "1H"; }
809

810
                    }
811

812

813
                }
814

815
                else
816
                {
817

818

819
                    if (EingabeZahl2 >= 45)
820
                    {
821
                        if (Soft_Frau.Checked == true) { Leiste5_Frau.Text = "2H"; Leiste6_Frau.Text = "2"; }
822
                        if (Medium_Frau.Checked == true) { Leiste5_Frau.Text = "3H"; Leiste6_Frau.Text = "3"; }
823
                        if (Fest_Frau.Checked == true) { Leiste5_Frau.Text = "4H"; Leiste6_Frau.Text = "4"; }
824

825

826
                    }
827

828
                    else
829
                    {
830
                        if (Soft_Frau.Checked == true) { Leiste5_Frau.Text = "4"; Leiste6_Frau.Text = "2"; }
831
                        if (Medium_Frau.Checked == true) { Leiste5_Frau.Text = "1H"; Leiste6_Frau.Text = "3"; }
832
                        if (Fest_Frau.Checked == true) { Leiste5_Frau.Text = "2H"; Leiste6_Frau.Text = "4"; }
833

834
                    }
835

836

837

838
                }
839

840
            }
841
        }
842
        private void Leisten56_Mann()
843
        {
844

845
            int EingabeZahl = 0;
846
            int EingabeZahl2 = 0;
847

848

849
            try
850
            {
851

852
                EingabeZahl = int.Parse(Lordose1_Mann.Text);
853
                EingabeZahl2 = int.Parse(Lordose2_Mann.Text);
854

855
            }
856

857
            catch
858
            {
859

860
                MessageBox.Show("asdf");
861
                return;
862

863
            }
864

865

866

867

868
            if (Seitenschlaefer_Mann.Checked == true)
869

870
                if (EingabeZahl >= 65)
871
                {
872
                    if (Soft_Frau.Checked == true)
873
                    {
874

875
                        Leiste5_Mann.Text = "3";
876
                        Leiste6_Mann.Text = "3";
877

878
                    }
879

880
                    if (Medium_Frau.Checked == true)
881
                    {
882
                        Leiste5_Mann.Text = "4";
883
                        Leiste6_Mann.Text = "4";
884

885

886
                    }
887

888
                    if (Fest_Frau.Checked == true)
889
                    {
890
                        Leiste5_Mann.Text = "1H";
891
                        Leiste6_Mann.Text = "1H";
892

893

894
                    }
895

896

897

898
                }
899

900
                else
901
                {
902

903
                    if (Soft_Frau.Checked == true)
904
                    {
905

906
                        Leiste5_Mann.Text = "4";
907
                        Leiste6_Mann.Text = "2";
908

909
                    }
910

911
                    if (Medium_Frau.Checked == true)
912
                    {
913
                        Leiste5_Mann.Text = "1H";
914
                        Leiste6_Mann.Text = "3";
915

916

917
                    }
918

919
                    if (Fest_Frau.Checked == true)
920
                    {
921
                        Leiste5_Mann.Text = "2H";
922
                        Leiste6_Mann.Text = "4";
923

924

925
                    }
926

927
                }
928

929

930

931
            else if (Rueckenschlaefer_Mann.Checked == true)
932

933
                if (EingabeZahl >= 65)
934
                {
935
                    if (EingabeZahl2 >= 60)
936
                    {
937
                        if (Soft_Frau.Checked == true) { Leiste5_Mann.Text = "1H"; Leiste6_Mann.Text = "1H"; }
938
                        if (Medium_Frau.Checked == true) { Leiste5_Mann.Text = "2H"; Leiste6_Mann.Text = "2H"; }
939
                        if (Fest_Frau.Checked == true) { Leiste5_Mann.Text = "3H"; Leiste6_Mann.Text = "3H"; }
940

941

942
                    }
943

944
                    else if (EingabeZahl2 >= 45)
945
                    {
946
                        if (Soft_Frau.Checked == true) { Leiste5_Mann.Text = "4"; Leiste6_Mann.Text = "4"; }
947
                        if (Medium_Frau.Checked == true) { Leiste5_Mann.Text = "1H"; Leiste6_Mann.Text = "1H"; }
948
                        if (Fest_Frau.Checked == true) { Leiste5_Mann.Text = "2H"; Leiste6_Mann.Text = "2H"; }
949

950
                    }
951

952

953
                    else if (EingabeZahl2 >= 30)
954
                    {
955
                        if (Soft_Frau.Checked == true) { Leiste5_Mann.Text = "3"; Leiste6_Mann.Text = "3"; }
956
                        if (Medium_Frau.Checked == true) { Leiste5_Mann.Text = "4"; Leiste6_Mann.Text = "4"; }
957
                        if (Fest_Frau.Checked == true) { Leiste5_Mann.Text = "1H"; Leiste6_Mann.Text = "1H"; }
958

959
                    }
960

961
                    else
962
                    {
963
                        if (Soft_Frau.Checked == true) { Leiste5_Mann.Text = "2"; Leiste6_Mann.Text = "2"; }
964
                        if (Medium_Frau.Checked == true) { Leiste5_Mann.Text = "3"; Leiste6_Mann.Text = "3"; }
965
                        if (Fest_Frau.Checked == true) { Leiste5_Mann.Text = "4"; Leiste6_Mann.Text = "4"; }
966

967
                    }
968

969

970
                }
971

972
                else
973
                {
974

975

976
                    if (EingabeZahl2 >= 60)
977
                    {
978
                        if (Soft_Frau.Checked == true) { Leiste5_Mann.Text = "4H"; Leiste6_Mann.Text = "2"; }
979
                        if (Medium_Frau.Checked == true) { Leiste5_Mann.Text = "1HH"; Leiste6_Mann.Text = "3"; }
980
                        if (Fest_Frau.Checked == true) { Leiste5_Mann.Text = "2HH"; Leiste6_Mann.Text = "4"; }
981

982

983
                    }
984

985
                    else if (EingabeZahl2 >= 45)
986
                    {
987
                        if (Soft_Frau.Checked == true) { Leiste5_Mann.Text = "2H"; Leiste6_Mann.Text = "2"; }
988
                        if (Medium_Frau.Checked == true) { Leiste5_Mann.Text = "3H"; Leiste6_Mann.Text = "3"; }
989
                        if (Fest_Frau.Checked == true) { Leiste5_Mann.Text = "4H"; Leiste6_Mann.Text = "4"; }
990

991
                    }
992

993

994
                    else if (EingabeZahl2 >= 30)
995
                    {
996
                        if (Soft_Frau.Checked == true) { Leiste5_Mann.Text = "4"; Leiste6_Mann.Text = "2"; }
997
                        if (Medium_Frau.Checked == true) { Leiste5_Mann.Text = "1H"; Leiste6_Mann.Text = "3"; }
998
                        if (Fest_Frau.Checked == true) { Leiste5_Mann.Text = "2H"; Leiste6_Mann.Text = "4"; }
999

1000
                    }
1001

1002
                    else
1003
                    {
1004
                        if (Soft_Frau.Checked == true) { Leiste5_Mann.Text = "2"; Leiste6_Mann.Text = "2"; }
1005
                        if (Medium_Frau.Checked == true) { Leiste5_Mann.Text = "1H"; Leiste6_Mann.Text = "3"; }
1006
                        if (Fest_Frau.Checked == true) { Leiste5_Mann.Text = "2H"; Leiste6_Mann.Text = "4"; }
1007

1008
                    }
1009

1010

1011

1012
                }
1013

1014

1015

1016

1017
            else if (Mischschlaefer_Mann.Checked == true)
1018
            {
1019
                if (EingabeZahl >= 65)
1020
                {
1021
                    if (EingabeZahl2 >= 45)
1022
                    {
1023
                        if (Soft_Frau.Checked == true) { Leiste5_Mann.Text = "4"; Leiste6_Mann.Text = "4"; }
1024
                        if (Medium_Frau.Checked == true) { Leiste5_Mann.Text = "1H"; Leiste6_Mann.Text = "1H"; }
1025
                        if (Fest_Frau.Checked == true) { Leiste5_Mann.Text = "2H"; Leiste6_Mann.Text = "2H"; }
1026

1027

1028
                    }
1029

1030
                    else
1031
                    {
1032
                        if (Soft_Frau.Checked == true) { Leiste5_Mann.Text = "3"; Leiste6_Mann.Text = "3"; }
1033
                        if (Medium_Frau.Checked == true) { Leiste5_Mann.Text = "4"; Leiste6_Mann.Text = "4"; }
1034
                        if (Fest_Frau.Checked == true) { Leiste5_Mann.Text = "1H"; Leiste6_Mann.Text = "1H"; }
1035

1036
                    }
1037

1038

1039
                }
1040

1041
                else
1042
                {
1043

1044

1045
                    if (EingabeZahl2 >= 45)
1046
                    {
1047
                        if (Soft_Frau.Checked == true) { Leiste5_Mann.Text = "2H"; Leiste6_Mann.Text = "2"; }
1048
                        if (Medium_Frau.Checked == true) { Leiste5_Mann.Text = "3H"; Leiste6_Mann.Text = "3"; }
1049
                        if (Fest_Frau.Checked == true) { Leiste5_Mann.Text = "4H"; Leiste6_Mann.Text = "4"; }
1050

1051

1052
                    }
1053

1054
                    else
1055
                    {
1056
                        if (Soft_Frau.Checked == true) { Leiste5_Mann.Text = "4"; Leiste6_Mann.Text = "2"; }
1057
                        if (Medium_Frau.Checked == true) { Leiste5_Mann.Text = "1H"; Leiste6_Mann.Text = "3"; }
1058
                        if (Fest_Frau.Checked == true) { Leiste5_Mann.Text = "2H"; Leiste6_Mann.Text = "4"; }
1059

1060
                    }
1061

1062

1063

1064
                }
1065

1066
            }
1067
        }
1068
        private void Leisten78_Frau()
1069
        {
1070

1071
            int EingabeZahl = 0;
1072

1073

1074
            try
1075
            {
1076

1077
                EingabeZahl = int.Parse(Becken_Frau.Text);
1078

1079
            }
1080

1081
            catch
1082
            {
1083

1084
                MessageBox.Show("asdfasdf");
1085
                return;
1086

1087
            }
1088

1089

1090

1091

1092
            if (Seitenschlaefer_Frau.Checked == true)
1093

1094
                if (EingabeZahl >= 36)
1095
                {
1096
                    if (Soft_Frau.Checked == true) { Leiste7_Frau.Text = "1"; Leiste8_Frau.Text = "1"; }
1097
                    if (Medium_Frau.Checked == true) { Leiste7_Frau.Text = "2"; Leiste8_Frau.Text = "2"; }
1098
                    if (Fest_Frau.Checked == true) { Leiste7_Frau.Text = "3"; Leiste8_Frau.Text = "3"; }
1099
                }
1100

1101
                else
1102
                {
1103

1104
                    if (Soft_Frau.Checked == true) { Leiste7_Frau.Text = "2"; Leiste8_Frau.Text = "2"; }
1105
                    if (Medium_Frau.Checked == true) { Leiste7_Frau.Text = "3"; Leiste8_Frau.Text = "3"; }
1106
                    if (Fest_Frau.Checked == true) { Leiste7_Frau.Text = "4"; Leiste8_Frau.Text = "4"; }
1107

1108
                }
1109

1110

1111

1112
            else if (Rueckenschlaefer_Frau.Checked == true)
1113

1114
                {
1115

1116
                    if (Soft_Frau.Checked == true) { Leiste7_Frau.Text = "2"; Leiste8_Frau.Text = "2"; }
1117
                    if (Medium_Frau.Checked == true) { Leiste7_Frau.Text = "3"; Leiste8_Frau.Text = "3"; }
1118
                    if (Fest_Frau.Checked == true) { Leiste7_Frau.Text = "4"; Leiste8_Frau.Text = "4"; }
1119

1120
                }
1121

1122

1123

1124
            else if (Mischschlaefer_Frau.Checked == true)
1125

1126
                if (EingabeZahl >= 36)
1127
                {
1128
                    if (Soft_Frau.Checked == true) { Leiste7_Frau.Text = "1,5"; Leiste8_Frau.Text = "1,5"; }
1129
                    if (Medium_Frau.Checked == true) { Leiste7_Frau.Text = "2,5"; Leiste8_Frau.Text = "2,5"; }
1130
                    if (Fest_Frau.Checked == true) { Leiste7_Frau.Text = "3,5"; Leiste8_Frau.Text = "3,5"; }
1131
                }
1132

1133
                else
1134
                {
1135

1136
                    if (Soft_Frau.Checked == true) { Leiste7_Frau.Text = "2"; Leiste8_Frau.Text = "2"; }
1137
                    if (Medium_Frau.Checked == true) { Leiste7_Frau.Text = "3"; Leiste8_Frau.Text = "3"; }
1138
                    if (Fest_Frau.Checked == true) { Leiste7_Frau.Text = "4"; Leiste8_Frau.Text = "4"; }
1139

1140
                }
1141

1142

1143
            else
1144
            {
1145
                EingabeZahl = 0;
1146
                Leiste7_Frau.Text = "XX";
1147
                Leiste8_Frau.Text = "XX";
1148
            }
1149

1150

1151

1152

1153
        }
1154
        private void Leisten78_Mann()
1155
        {
1156

1157
            int EingabeZahlm = 0;
1158

1159

1160
            try
1161
            {
1162

1163
                EingabeZahlm = int.Parse(Becken_Mann.Text);
1164

1165
            }
1166

1167
            catch
1168
            {
1169

1170
                MessageBox.Show("asdfasdf");
1171
                return;
1172

1173
            }
1174

1175

1176

1177

1178
            if (Seitenschlaefer_Mann.Checked == true)
1179

1180
                if (EingabeZahlm >= 38.5)
1181
                {
1182
                    if (Soft_Frau.Checked == true) { Leiste7_Mann.Text = "1"; Leiste8_Mann.Text = "1"; }
1183
                    if (Medium_Frau.Checked == true) { Leiste7_Mann.Text = "2"; Leiste8_Mann.Text = "2"; }
1184
                    if (Fest_Frau.Checked == true) { Leiste7_Mann.Text = "4"; Leiste8_Mann.Text = "4"; }
1185
                }
1186

1187
                else
1188
                {
1189

1190
                    if (Soft_Frau.Checked == true) { Leiste7_Mann.Text = "2"; Leiste8_Mann.Text = "2"; }
1191
                    if (Medium_Frau.Checked == true) { Leiste7_Mann.Text = "3"; Leiste8_Mann.Text = "3"; }
1192
                    if (Fest_Frau.Checked == true) { Leiste7_Mann.Text = "4"; Leiste8_Mann.Text = "4"; }
1193

1194
                }
1195

1196

1197

1198
            else if (Rueckenschlaefer_Frau.Checked == true)
1199
            {
1200

1201
                if (Soft_Frau.Checked == true) { Leiste7_Mann.Text = "2"; Leiste8_Mann.Text = "2"; }
1202
                if (Medium_Frau.Checked == true) { Leiste7_Mann.Text = "3"; Leiste8_Mann.Text = "3"; }
1203
                if (Fest_Frau.Checked == true) { Leiste7_Mann.Text = "4"; Leiste8_Mann.Text = "4"; }
1204

1205
            }
1206

1207

1208

1209
            else if (Mischschlaefer_Mann.Checked == true)
1210

1211
                if (EingabeZahlm >= 38.5)
1212
                {
1213
                    if (Soft_Frau.Checked == true) { Leiste7_Mann.Text = "1,5"; Leiste8_Mann.Text = "1,5"; }
1214
                    if (Medium_Frau.Checked == true) { Leiste7_Mann.Text = "2,5"; Leiste8_Mann.Text = "2,5"; }
1215
                    if (Fest_Frau.Checked == true) { Leiste7_Mann.Text = "3,5"; Leiste8_Mann.Text = "3,5"; }
1216
                }
1217

1218
                else
1219
                {
1220

1221
                    if (Soft_Frau.Checked == true) { Leiste7_Mann.Text = "2"; Leiste8_Mann.Text = "2"; }
1222
                    if (Medium_Frau.Checked == true) { Leiste7_Mann.Text = "3"; Leiste8_Mann.Text = "3"; }
1223
                    if (Fest_Frau.Checked == true) { Leiste7_Mann.Text = "4"; Leiste8_Mann.Text = "4"; }
1224

1225
                }
1226

1227

1228
            else
1229
            {
1230
                EingabeZahlm = 0;
1231
                Leiste7_Mann.Text = "XX";
1232
                Leiste8_Mann.Text = "XX";
1233
            }
1234

1235

1236

1237

1238
        }
1239
        private void Leisten910_Frau()
1240
        {
1241

1242
            int EingabeZahl = 0;
1243

1244

1245
            try
1246
            {
1247

1248
                EingabeZahl = int.Parse(Knie_Frau.Text);
1249

1250
            }
1251

1252
            catch
1253
            {
1254

1255
                MessageBox.Show("Bitte bei der Dame nur Zahlen eingeben!");
1256
                return;
1257

1258
            }
1259

1260

1261

1262

1263
            if (Seitenschlaefer_Frau.Checked == true)
1264
            {
1265
                if (EingabeZahl >= 130) { Leiste9_Frau.Text = "X"; Leiste10_Frau.Text = "HH"; }
1266
                else if (EingabeZahl >= 127) { Leiste9_Frau.Text = "X"; Leiste10_Frau.Text = "H"; }
1267
                else if (EingabeZahl >= 118) { Leiste9_Frau.Text = "H"; Leiste10_Frau.Text = "X"; }
1268
                else if (EingabeZahl >= 0) { Leiste9_Frau.Text = "HH"; Leiste10_Frau.Text = "X"; }
1269
            }
1270

1271

1272

1273
            else if (Rueckenschlaefer_Frau.Checked == true)
1274
            {
1275

1276
                if (EingabeZahl >= 124) { Leiste9_Frau.Text = "X"; Leiste10_Frau.Text = "HH"; }
1277
                else if (EingabeZahl >= 121) { Leiste9_Frau.Text = "X"; Leiste10_Frau.Text = "H"; }
1278
                else if (EingabeZahl >= 118) { Leiste9_Frau.Text = "H"; Leiste10_Frau.Text = "X"; }
1279
                else if (EingabeZahl >= 0) { Leiste9_Frau.Text = "HH"; Leiste10_Frau.Text = "X"; }
1280
            }
1281

1282

1283
            else if (Mischschlaefer_Frau.Checked == true)
1284
            {
1285

1286
                if (EingabeZahl >= 127) { Leiste9_Frau.Text = "X"; Leiste10_Frau.Text = "HH"; }
1287
                else if (EingabeZahl >= 124) { Leiste9_Frau.Text = "X"; Leiste10_Frau.Text = "H"; }
1288
                else if (EingabeZahl >= 121) { Leiste9_Frau.Text = "H"; Leiste10_Frau.Text = "X"; }
1289
                else if (EingabeZahl >= 0) { Leiste9_Frau.Text = "HH"; Leiste10_Frau.Text = "X"; }
1290
            }
1291

1292
            else
1293
            {
1294
                EingabeZahl = 0;
1295
                Leiste9_Frau.Text = "XX";
1296
                Leiste10_Frau.Text = "XX";
1297
            }
1298

1299

1300

1301

1302
        }
1303
        private void Leisten910_Mann()
1304
        {
1305

1306
            int EingabeZahlm = 0;
1307

1308

1309
            try
1310
            {
1311

1312
                EingabeZahlm = int.Parse(Knie_Mann.Text);
1313

1314
            }
1315

1316
            catch
1317
            {
1318

1319
                MessageBox.Show("Bitte bei der Dame nur Zahlen eingeben!");
1320
                return;
1321

1322
            }
1323

1324

1325

1326

1327
            if (Seitenschlaefer_Mann.Checked == true)
1328
            {
1329
                if (EingabeZahlm >= 130) { Leiste9_Mann.Text = "X"; Leiste10_Mann.Text = "HH"; }
1330
                else if (EingabeZahlm >= 127) { Leiste9_Mann.Text = "X"; Leiste10_Mann.Text = "H"; }
1331
                else if (EingabeZahlm >= 118) { Leiste9_Mann.Text = "H"; Leiste10_Mann.Text = "X"; }
1332
                else if (EingabeZahlm >= 0) { Leiste9_Mann.Text = "HH"; Leiste10_Mann.Text = "X"; }
1333
            }
1334

1335

1336

1337
            else if (Rueckenschlaefer_Mann.Checked == true)
1338
            {
1339

1340
                if (EingabeZahlm >= 124) { Leiste9_Mann.Text = "X"; Leiste10_Mann.Text = "HH"; }
1341
                else if (EingabeZahlm >= 121) { Leiste9_Mann.Text = "X"; Leiste10_Mann.Text = "H"; }
1342
                else if (EingabeZahlm >= 118) { Leiste9_Mann.Text = "H"; Leiste10_Mann.Text = "X"; }
1343
                else if (EingabeZahlm >= 0) { Leiste9_Mann.Text = "HH"; Leiste10_Mann.Text = "X"; }
1344
            }
1345

1346

1347
            else if (Mischschlaefer_Mann.Checked == true)
1348
            {
1349

1350
                if (EingabeZahlm >= 127) { Leiste9_Mann.Text = "X"; Leiste10_Mann.Text = "HH"; }
1351
                else if (EingabeZahlm >= 124) { Leiste9_Mann.Text = "X"; Leiste10_Mann.Text = "H"; }
1352
                else if (EingabeZahlm >= 121) { Leiste9_Mann.Text = "H"; Leiste10_Mann.Text = "X"; }
1353
                else if (EingabeZahlm >= 0) { Leiste9_Mann.Text = "HH"; Leiste10_Mann.Text = "X"; }
1354
            }
1355

1356
            else
1357
            {
1358
                EingabeZahlm = 0;
1359
                Leiste9_Mann.Text = "XX";
1360
                Leiste10_Mann.Text = "XX";
1361
            }
1362

1363

1364

1365

1366
        }
1367
        
1368
        
1369
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
1370
        {
1371
            saveFileDialog1.ShowDialog();
1372
            string filename = saveFileDialog1.FileName;
1373

1374
            StreamWriter sw = new StreamWriter(filename);
1375
            sw.WriteLine(Nachnahme_Eingabe_Mann.Text);
1376
            sw.WriteLine(Vornahme_Eingabe_Mann.Text);
1377

1378
            sw.WriteLine(Nachnahme_Eingabe_Frau.Text);
1379
            sw.WriteLine(Vornahme_Eingabe_Frau.Text);
1380

1381
            sw.WriteLine(Datum_Eingabe.Text);
1382
            sw.WriteLine(Fachberater_Eingabe.Text);
1383
            sw.Close();
1384

1385
        }
1386

1387
        private void Drucken_Eingabe_Click(object sender, EventArgs e)
1388
        {
1389
            Print.PrintControl(this, new PrinterSettings(), false);
1390
        }
1391

1392
        private void Drucken_Ausgabe_Click(object sender, EventArgs e)
1393
        {
1394
            Print.PrintControl(this, new PrinterSettings(), false);
1395
        }
1396

1397
        private void allesDruckenToolStripMenuItem_Click(object sender, EventArgs e)
1398
        {
1399
            Print.PrintControl(this, new PrinterSettings(), true);
1400
        }
1401
      
1402

1403
       
1404
    }
1405
}
Gast #2934579
Lesenswert?

Alex Dau schrieb:
> By the way wieso kopiere ich automatisch offene Funktionen wobei ich
> diese vor dem kopieren bereits geschlossen habe? Und wieso ist mein
> Quellcode nicht so schön bunt wie deiner? Gibt es da einen Trick dafür!

Steht oben im "Antwort schreiben"-Feld - noch deutlicher geht's fast 
nicht:
Den Quellcode in [ c ]-Tags einbetten.

Und bitte, bitte mit Zucker oben drauf: Hänge zukünftig solche 
Code-Monster als Datei an. Das versaut den ganzen Thread.
OP #2934605
Lesenswert?

Patrick schrieb:
> Steht oben im "Antwort schreiben"-Feld - noch deutlicher geht's fast
> nicht:
> Den Quellcode in [ c ]-Tags einbetten.
>
> Und bitte, bitte mit Zucker oben drauf: Hänge zukünftig solche
> Code-Monster als Datei an. Das versaut den ganzen Thread.

Okay ich werde beide Tipps in Zukunft berücksichtigen.

Allerdings wundert mich nur das die Funktionen im Visual Studio vor dem 
kopieren geschlossen waren, damit der Code nicht so groß wird, und nach 
dem einfügen eben offen?!!
Gibt es dafür auch einen Trick?

Danke
Gast #2934618
Lesenswert?

Nein.
vs ist eben ein "intelligenter" Texteditor der das kann weil er die 
funktionen identifizieren kann

das antwortfeld hier kann nur soviel wie oben unter Formatierung steht.
+ links formatieren
#2934874
Lesenswert?

Alex Dau schrieb:

>aber ich habe deinen Code ausprobiert und es wird dennoch nur jeweils
>ein Seite gedruckt.

> public static void PrintControl(Control control,
> PrinterSettings printerSettings, bool allTabs)

> private void Drucken_Eingabe_Click(object sender, EventArgs e)
>         {
>             Print.PrintControl(this, new PrinterSettings(), false);
>         }
>
>         private void Drucken_Ausgabe_Click(object sender, EventArgs e)
>         {
>             Print.PrintControl(this, new PrinterSettings(), false);
>         }

^^Wenn du alle Tabs drucken willst musst du schon auch bei "allTabs" den 
Wert "true" übergeben ;)

z.B.:
1
 private void Drucken_Eingabe_Click(object sender, EventArgs e)
2
        {
3
           Print.PrintControl(this, new PrinterSettings(), true);
4
        }
#2934915
Lesenswert?

Aber ganz ehrlich:
Der ganze Ansatz mit "Controls drucken" ist nicht so prickelnd.
So aufregend schwer ist das auch wieder nicht, auf einem Drucker eine 
Seite mit Informationen über Graphics.DrawString auszugeben.
Dann sieht das dann auch nach was aus und wirkt nicht so gebastelt.


Und sieh dir mal Arrays an. Dein if-else_if Orgien lassen sich mit ein 
paar Arrays wunderbar abhandeln, in denen die jeweiligen Grenzwerte an 
einer Stelle beisammen stehen. Dein Code schrumpft sofort um 60% 
zusammen.
#2934988
Lesenswert?

Karl Heinz Buchegger schrieb:
> Aber ganz ehrlich:
> Der ganze Ansatz mit "Controls drucken" ist nicht so prickelnd.
> So aufregend schwer ist das auch wieder nicht, auf einem Drucker eine
> Seite mit Informationen über Graphics.DrawString auszugeben.
> Dann sieht das dann auch nach was aus und wirkt nicht so gebastelt.
>
>
> Und sieh dir mal Arrays an. Dein if-else_if Orgien lassen sich mit ein
> paar Arrays wunderbar abhandeln, in denen die jeweiligen Grenzwerte an
> einer Stelle beisammen stehen. Dein Code schrumpft sofort um 60%
> zusammen.

^^Ja, das sehe ich auch so.
OP #2935143
Lesenswert?

A. V. schrieb:
> Karl Heinz Buchegger schrieb:
>
>> Aber ganz ehrlich:
>
>> Der ganze Ansatz mit "Controls drucken" ist nicht so prickelnd.
>
>> So aufregend schwer ist das auch wieder nicht, auf einem Drucker eine
>
>> Seite mit Informationen über Graphics.DrawString auszugeben.
>
>> Dann sieht das dann auch nach was aus und wirkt nicht so gebastelt.
>
>>
>
>>
>
>> Und sieh dir mal Arrays an. Dein if-else_if Orgien lassen sich mit ein
>
>> paar Arrays wunderbar abhandeln, in denen die jeweiligen Grenzwerte an
>
>> einer Stelle beisammen stehen. Dein Code schrumpft sofort um 60%
>
>> zusammen.
>
>
>
> ^^Ja, das sehe ich auch so.

Danke dir A.V.,

zu meiner Verteidigung; das ist mein erstes Programm und dafür finde ich 
es bisher noch gar nicht mal so schlecht.

Ihr habt recht mit der Printscreenmethode und Ihr habt recht mit den 
Arrays, doch das werde ich, wenn alles mal so hinhaut wie ich es will, 
stück für stück umbasteln.

Ich habe den Wert auf "true" umgestellt und er druckt nun auch beide 
Tabs, allerdings scheint es mir als würde er zu schnell den Printscreen 
machen.
Einige Elemente von der jeweils anderen Tab sind auf dem Ausdruck zu 
sehen.

Vielen Dank
Daniel
#2935157
Lesenswert?

Alex Dau schrieb:

> Ihr habt recht mit der Printscreenmethode und Ihr habt recht mit den
> Arrays, doch das werde ich, wenn alles mal so hinhaut wie ich es will,
> stück für stück umbasteln.

Die Sache ist die, dass so ein PrintScreen eigentlich viel komplizierter 
ist, als einfach nur ein paar Texte rauszuhauen.

Wenn du also 'erst mal' die einfache Lösung machen willst, dann bist du 
mit Texte drucken viel besser bedient. Und besser aussehen tut es dann 
auch noch obendrein.
OP #2935171
Lesenswert?

Ich weiss aber nicht wie das geht?

Das Problem ist ja folgendes:

Ich habe als Hintergrundbild der jeweilgen Tabs ein Formular welches 
quasi ausgefüllt wird.

Würde ich nun string für string Ausdrucken müsste ich diese richtig 
Anordnen können und als Hintergrund wieder mein Formular dazulegen.
#2935181
Lesenswert?

Alex Dau schrieb:
> Ich weiss aber nicht wie das geht?

Ist ganz einfach. Das Framework ruft den angegebenen Handler für jede 
Seite auf. Und in diesem Hnadler kriegst du alles was du brauchst um 
letzten Endes mit Graphics.DrawString einen Text auszugeben

Ein Beispiel aus der MSDN etwas abgewandelt
http://msdn.microsoft.com/en-us/library/system.drawing.printing.printdocument.print.aspx
1
 // The PrintPage event is raised for each page to be printed. 
2
 private void pd_PrintPage(object sender, PrintPageEventArgs ev) 
3
 {
4
   float yPos;
5
   float leftMargin = ev.MarginBounds.Left;
6
   float topMargin = ev.MarginBounds.Top;
7
   Font  printFont = new Font("Arial", 10);
8

9
   yPos = topMargin + (0 * printFont.GetHeight(ev.Graphics));
10
   ev.Graphics.DrawString ("Dies ist Zeile 1", printFont, Brushes.Black,
11
                           leftMargin, yPos, new StringFormat());
12

13
   yPos = topMargin + (1 * printFont.GetHeight(ev.Graphics));
14
   ev.Graphics.DrawString ("Dies ist Zeile 2", printFont, Brushes.Black,
15
                           leftMargin, yPos, new StringFormat());
16

17
   ev.HasMorePages = false;
18
}

> Würde ich nun string für string Ausdrucken müsste ich diese richtig
> Anordnen können und als Hintergrund wieder mein Formular dazulegen.

Wozu brauchst du das Formular am Ausdruck?
Alles was dich interessiert ist doch, dass alle Werte ausgedruckt 
werden. Und das nach Möglichkeit in einer übersichtlichen Form, mit 
Überschriften, Beschriftungen etc.

Anstatt der Fixtexte setzt du dann eben deine Texte ein, die die der 
Benutzer eingegeben hat und die, die dein Programm berechnet hat. Die 
ToString() Methode ist ja schon erfunden.
#2935207
Lesenswert?

Alex Dau schrieb:
> Ich habe den Wert auf "true" umgestellt und er druckt nun auch beide
> Tabs, allerdings scheint es mir als würde er zu schnell den Printscreen
> machen.
> Einige Elemente von der jeweils anderen Tab sind auf dem Ausdruck zu
> sehen.

^^Öhm, dann füge mal in der "public static void PrintControl(...)", in 
der foreach-Schleife noch eine kurze Wartezeit ein..

z.B.:
1
....
2

3
 else
4
                    {
5
                        foreach (Control ctrl in control.Controls)
6
                        {
7
                            if (ctrl.GetType() == typeof(TabControl))
8
                            {
9
                                TabControl tctrl = (TabControl)ctrl;
10
                                for (int i = 0; i < tctrl.TabCount; i++)
11
                                {
12
                                    tctrl.SelectTab(i);
13
                                    printDoc.Print();
14
                                    System.Threading.Thread.Sleep(500);
15
                                }
16
                                break;
17
                            }
18
                        }
19
                    }
20

21
...

^^Ja, das ist nicht besonders schön, sollte aber in deinem Projekt 
ausreichend funktionieren.
OP #2935250
Lesenswert?

Karl Heinz Buchegger schrieb:

>
>> Würde ich nun string für string Ausdrucken müsste ich diese richtig
>> Anordnen können und als Hintergrund wieder mein Formular dazulegen.
>
> Wozu brauchst du das Formular am Ausdruck?
> Alles was dich interessiert ist doch, dass alle Werte ausgedruckt
> werden. Und das nach Möglichkeit in einer übersichtlichen Form, mit
> Überschriften, Beschriftungen etc.
>
> Anstatt der Fixtexte setzt du dann eben deine Texte ein, die die der
> Benutzer eingegeben hat und die, die dein Programm berechnet hat. Die
> ToString() Methode ist ja schon erfunden.

Leider geht es doch auch um das Formular, sonst hättest du absolut 
recht.
Da mein Formular, welches ich im Hintergrund der Form integriert habe, 
sehr schön ist (Eigenlob =))finde ich die Printscreenmethode wirklich 
nicht schlimm.
Wenn halt nur nicht das Problem mit der Zeitverzögerung bzw. mit den 
beiden Tabs wäre.
Aber dank Eurer unterstützung werden wir das bestimmt gleich 
hinbekommen.
Ich danke Euch auf jedenfall.
Und das ist wirklich mein allerstes Programm, welches beinahe nur mit 
der Hilfe von Youtube geschafft habe.
OP #2935254
Lesenswert?

Alex Dau schrieb:
> Nun wird zwar die erste Seite richtig gedruckt, aber die zweite ist
> unverändert versehen mit den Labels vom ersten Tab.
> Was mich wundert ist, dass anscheinend nur die Labels davon betroffen
> sind.
> Die Ca. 30 Checkboxen machen keine Probleme...

Bevor du mich bittest, ich habe die Werte 500, 1000, 2500, 5000 
ausprobiert.
Leider ohne Erfolg.
#2935266
Lesenswert?

Alex Dau schrieb:
> Bevor du mich bittest, ich habe die Werte 500, 1000, 2500, 5000
> ausprobiert.
> Leider ohne Erfolg.

...dann versuch mal die Pause vor und nach dem Drucken und die 
Update-Funktionen...ungefähr so:
1
...
2
tctrl.SelectTab(i);
3
printDoc.Print();
4
System.Threading.Thread.Sleep(500);
5
...

zu:

1
...
2
tctrl.SelectTab(i);
3
System.Threading.Thread.Sleep(250);
4
ctrl.Update();
5
tctrl.Update();
6
System.Threading.Thread.Sleep(250); 
7
printDoc.Print();
8
System.Threading.Thread.Sleep(250);
9
...

(Wobei, wie gesagt die anderen Recht haben. Man macht so etwas nicht 
über screenshots. Und das mit den Pausen ist eigentlich ziehmlich 
russisch.. :D )
#2935307
Lesenswert?

Alex Dau schrieb:
> Kleine Zwischenfrage: Umlaute und das "ß" in Variablen, ist das schlimm?

Nein, du kannst ß und sogar Umlaute (öäü) verwenden. Das macht man aber 
nicht. Wenn du ein Programm schreibst, solltest du nur eine Sprache 
verwenden. Und weil du ja von .Net eh englische Klassen bekommst bietet 
es sich an auch weiterhin englisch zu proggen. (und da gibt es keine ß, 
ö, ü, ä,...)
#2935787
Lesenswert?

Hallo  Alex Dau,

aaaaalso ich habe dir mal die Druckroutine angepasst, ein Menü eingebaut 
und noch ein paar Kleinigkeiten in deinen Öffnen-/bzw. 
Speichern-Methoden hinzugefügt.

All zu viel wollte ich nicht ändern, weil du dann wohl nicht mehr 
durchsehen würdest, wenn es dein erstes Projekt ist.

Das Projekt bekommst du per PN.
OP #2936921
Lesenswert?

A. V. schrieb:
> Hallo  Alex Dau,
>
> aaaaalso ich habe dir mal die Druckroutine angepasst, ein Menü eingebaut
> und noch ein paar Kleinigkeiten in deinen Öffnen-/bzw.
> Speichern-Methoden hinzugefügt.
>
> All zu viel wollte ich nicht ändern, weil du dann wohl nicht mehr
> durchsehen würdest, wenn es dein erstes Projekt ist.
>
> Das Projekt bekommst du per PN.

Boahh!!!

Du bist Weltklasse, danke dir!
OP #2936971
Lesenswert?

Ich bräuchte noch Hilfe bei einer weiteren Funktion.

Und zwar ziehe ich mir die Messdaten über einen Mikrokontroller.
Das funktioniert auch bereits ganz gut.
Leider ist das Signal teilweise instabil und ich würde gerne mit einer 
Funktion, die mehrere Werte aufhängt und im Anschluss den Schnitt zieht, 
den fehler veringern.
1
        private void Messen_Mann()
2
        {
3

4
            {
5

6
                bool ret;
7
                Double wert = 0;
8
                double Spannungsschritt = 64;
9
                double Maximalspannung = 3200;
10
                string error = "";
11
                HtronicMessmodul htronic = new HtronicMessmodul();
12
                htronic.Comport = 4;
13

14

15
ret = htronic.bSetOpenModule(eWichModule.HB628, htronic.Timeout);
16
     Verbindung_Eingabe.Text = ("Verbindung: " + ret.ToString());
17

18

19

20
                wert =
21

22
                (
23

24
               ((Maximalspannung - (htronic.iGetMilliVoltageOfOneChannel(eWichModule.HB628, (byte)eChannel.Channel_2, ref error))) / Spannungsschritt)
25

26
                );
27
                Schulter_Mann.Text = (wert.ToString() + " cm");
28

29

30
            }
31

32

33
        }
Angehängte Dateien:
#2936994
Lesenswert?

@ Alex Dau

Das würde ich dann so machen:
1
 private void Messen_Mann()
2
            {
3

4
                {
5
                    bool ret;
6
                    double meanValue = 0;
7
                    int waitMilliSecs = 100;
8
                    int countOfValues = 10;
9
                    double Spannungsschritt = 64;
10
                    double Maximalspannung = 3200;
11
                    string error = "";
12
                    HtronicMessmodul htronic = new HtronicMessmodul();
13
                    htronic.Comport = 4;
14

15
                    ret = htronic.bSetOpenModule(eWichModule.HB628, htronic.Timeout);
16
                    Verbindung_Eingabe.Text = ("Verbindung: " + ret.ToString());
17

18
                    for (int i = 0; i < countOfValues; i++)
19
                    {
20
                        meanValue+=((Maximalspannung - (htronic.iGetMilliVoltageOfOneChannel(eWichModule.HB628, (byte)eChannel.Channel_2, ref error))) / Spannungsschritt);
21
                        System.Threading.Thread.Sleep(waitMilliSecs);
22
                    }
23

24
                    meanValue /= countOfValues;
25

26
                    Schulter_Mann.Text = (meanValue.ToString() + " cm");
27
                }
28
            }
OP #2939195
Lesenswert?

Hallo Kra5h,

nochmals vielen Dank es ein wenig besser geworden.

Wie kann ich die Variabel wieder von Messwert befreien?
Sobald ich auf Start drücke wird gemessen, drücke ich nochmal Start, so 
wird der Wert bis zum Maximum von 4095mV summiert und ausgegeben.

Somit bräuchte eine Funktion:
Wenn start nochmal gedrückt wird, dann lösche zunächst den alten Wert 
und Mess erst dann wieder.
OP #2939450
Lesenswert?

Und wie kann ich eine checkbox richtig speichern und wieder laden?

Momentan schreibe ich ja über den StreamWriter Zeile für Zeile in eine 
.txt Datei.

Nun möchte ich wenn ich Lade über den StreamReader die Checkboxen Laden.
Hierzu würde ich die richtige Funktion benötigen.

Seitenschlaefer_Frau.Checked = sr.ReadLine();

geht leider nicht.

1
 
2

3
// Größe und Gewicht der Frau
4

5
                    sw.WriteLine(Körpergröße_Frau.Text);
6
                    sw.WriteLine(Körpergewicht_Frau.Text);
7

8
                    // Bevorzugte Schlaflage der Frau
9

10
                    sw.WriteLine(Seitenschlaefer_Frau.Checked);
11
                    sw.WriteLine(Rueckenschlaefer_Frau.Checked);
12
                    sw.WriteLine(Mischschlaefer_Frau.Checked);
#2939852
Lesenswert?

Alex Dau schrieb:
> Und wie kann ich eine checkbox richtig speichern und wieder laden?
>
> Momentan schreibe ich ja über den StreamWriter Zeile für Zeile in eine
> .txt Datei.
>
> Nun möchte ich wenn ich Lade über den StreamReader die Checkboxen Laden.
> Hierzu würde ich die richtige Funktion benötigen.
>
> Seitenschlaefer_Frau.Checked = sr.ReadLine();
>
> geht leider nicht.


Also eine gesamte Instanz von einem Objekt (wie z.B. der Checkbox; also 
Größe, Position, Name, Text, usw.) speichert man unter anderem im 
XML-Format.

Wenn du allerdings nur den "Checked"-State einer CheckBox (nennen wir 
sie "checkBox1") speichern/laden möchtest, könntest du das so tun:

//State als String speichern
sw.WriteLine(checkBox1.Checked ? "true" : "false");

//State vom String laden (an geeigneter Stelle ;) )
checkBox1.Checked = sw.ReadLine() == "true" ? true : false;

> Und den Wert der Ausgabe würde ich gerne von z.B. 9,27871410736579 cm
> auf 9,3 cm Runden lassen.

double a = 9.27871410736579;
double b = Math.Round(a, 1); // (Zahl, Anzahl der Nachkommastellen)
// => b = 9.3

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren