Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 14:05

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Software für Autohaus

Discussion on Software für Autohaus within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
SurizeZaine's Avatar
 
elite*gold: 1
Join Date: May 2013
Posts: 934
Received Thanks: 191
Software für Autohaus

Hey Leute,
bin gerade dabei eine Software für das Autohaus meines Vaters zu schreiben.

Funktionen der Software:

- Anhand von Eingaben in Textboxen ein formatiertes Datenblatt erstellen
- Dieses Datenblatt im RTF Format speichern
- Anhand von Eingaben in Textboxen vorgefertigte Modelle mit einer bestimmten Ausstattung/Technischen Daten zu erstellen bzw. diese zu speichern
- Diese gespeicherten Modelle können per OpenFileDialog geöffnet werden -> Die Textboxen der Windows Form werden beim Öffnen automatisch mit den Daten des gespeicherten Modells ausgefüllt -> man muss dann z.b. nur die Farbe in der Textbox ändern und kann ein neues Datenblatt erstellen mit der selben Ausstattung/den selben Technischen Daten
- Button "Alle Eingaben löschen": Die Eingaben aller Textboxen werden gelöscht, falls man z.b. mehrere Modelle hintereinander anlegen möchte, damit man nicht jede Textbox per Hand ändern/neu eingeben muss

Soweit, so gut. Der letztgenannte Punkt bereitet mir allerdings ein paar Probleme.

So wollte ich es umsetzen:

Code:
foreach (Control c in Controls)
{
   if (c is Textbox)
   c.Text = String.Empty;
}
Problem ist, dass er keine Textbox löscht. Wenn ich eine Textbox einzeln aufrufe klappt es aber:

Code:
textBox1.Text = String.Empty;
Ich habe das Problem jetzt vorrübergehend so gelöst, indem ich ein Array mit allen TextBoxen erstelle und jede TextBox per Schleife einzeln aufrufe und ihren Inhalt lösche:

Code:
TextBox[] arr = {textBox1, textBox2, textBox3, textBox4, textBox5, textBox6, textBox7, textBox8, textBox9, textBox10, textBox11, textBox12, textBox13, textBox14, textBox15, textBox16, textBox17, textBox18, textBox19, textBox20, textBox21,textBox22, textBox23, textBox24, textBox25, textBox26, textBox27, textBox28, textBox29, textBox30 };

for (int i = 0; i <= 29; i++)
                {
                    arr[i].Text = string.Empty;
                }
Klappt jetzt auch alles, allerdings ist das nicht sehr schön finde ich. Die erstgenannte Methode per foreach-Schleife wäre mir lieber. Könnt ihr mir auf die Sprünge helfen, warum die erste Methode nicht funktioniert?
Zur Info: Die Textboxen befinden sich alle im splitContainer1.Panel1, der Löschen-Button im splitContainer1.Panel2

Grüße und danke im Vorraus
SurizeZaine is offline  
Old 04/13/2014, 18:20   #2
 
Tim87''s Avatar
 
elite*gold: 1
Join Date: Apr 2014
Posts: 28
Received Thanks: 0
Hey,

Ich habe mir dein Post nur flüchtig durchgelesen, werde Dir in ferner Zukunft, also in 2 Tagen oder so nochmal ein genaueres Feedback (Lösung) geben - nur noch ein gut gemeinter Rat, fange ALLE Fehlermeldungen mit Catch ab!

Gerade bei einem solchen Programm ist das seeeeeeeeehr wichtig!
Tim87' is offline  
Old 04/13/2014, 18:53   #3


 
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
Code:
        public static IEnumerable<T> GetControlsOfType<T>(Control root) where T : Control
        {
            var t = root as T;
            if (t != null)
                yield return t;

            var container = root as ContainerControl;
            if (container != null)
                foreach (Control c in container.Controls)
                    foreach (var i in GetControlsOfType<T>(c))
                        yield return i;
        }


Funktioniert bestens und du hast sogar die Garantie, das auch durch Nested Controls iteriert wird.

Um trotzdem zu dem Snippet zurückzukommen:

Du müsstest hier einen Compilerfehler angezeigt bekommen da Textbox so nicht existiert, sofern du nicht explizit eine Instanz mit dem Namen erstellt hast. Deine Methode funktioniert prima, wenn du den Klassennamen richtig schreibst (also TextBox). Findet allerdings dann keine Nested Controls.

Bedeutet also, das durch Textboxen in einem Container (Panel, was weiß ich) nicht iteriert wird.
Mostey is offline  
Old 04/13/2014, 19:03   #4
 
SurizeZaine's Avatar
 
elite*gold: 1
Join Date: May 2013
Posts: 934
Received Thanks: 191
Hey, schonmal vielen Dank für die beiden Antworten, werde es nacher einmal probieren. Das mit Textbox war natürlich nur ein Schreibfehler von mir, im richtigen Code habe ich TextBox geschrieben.
SurizeZaine is offline  
Old 04/13/2014, 19:28   #5


 
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
Quote:
Originally Posted by SurizeZaine View Post
Hey, schonmal vielen Dank für die beiden Antworten, werde es nacher einmal probieren. Das mit Textbox war natürlich nur ein Schreibfehler von mir, im richtigen Code habe ich TextBox geschrieben.
Dann waren diese in einem Container. Sonst hätte es nämlich funktioniert.
Mostey is offline  
Reply


Similar Threads Similar Threads
Customer Support Software-effective software to manage all your tasks
08/06/2012 - Trading - 0 Replies
When you are a business owner, you would require effective software to manage all your tasks and to complete them efficiently. For the same, you can seek assistance in helpdesk software. No matter the size of your organization, this software can definitely help you to manage all your requirements. One of the best places to shop for this product is the internet as there are many company websites which sell it. Basically, helpdesk software is used so that you will be able to take advantage of...
[Verkaufe] Lizenz für: Anti Viren Software & PC optimierungs Software für Windows !
10/02/2011 - Trading - 5 Replies
Hallo Elitepvpers, Einleitung: In diesem Thread könnt ihr Lizenzen für Antiviren Programme und Computer optimierungs Programme erwerben. Zahlungsmöglichkeiten: Ich akzeptiere Paysafecard oder Elitegold. Ich bevorzuge die Zahlungsmethode Paysafecard, wer aber auf Nummer sicher gehen möchte kann natührlich mit Elitegold bezahlen. Produkte:
[Verkaufe] Lizenz für: Anti Viren Software & PC optimierungs Software für Windows !
09/28/2011 - Trading - 2 Replies
Hallo Elitepvpers, Einleitung: In diesem Thread könnt ihr Lizenzen für Antiviren Programme und Computer optimierungs Programme erwerben. Zahlungsmöglichkeiten: Ich akzeptiere Paysafecard oder Elitegold. Ich bevorzuge die Zahlungsmethode Paysafecard, wer aber auf Nummer sicher gehen möchte kann natührlich mit Elitegold bezahlen. Produkte:



All times are GMT +1. The time now is 14:05.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.