tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
553
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Reverent Reverent ist offline Mitglied Gold
    Registriert seit
    Jun 2004
    Beiträge
    190
    Hallo Leute,
    ich brauchte da mal wieder einen Ratschlag und zwar:
    Ich habe ihr eine Funktion, die Werte aus einer ArrayList in einer ListView darstellt:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    #region void FillListView()
    public void FillListView()
    {
      if(_clVariable.alBenutzer != null)
      {
        foreach(Struct stBenutzer in _clVariable.alBenutzer)
        {
          listVBenutzer.Items.Add(stBenutzer.strName);
          listVBenutzer.Items[listVBenutzer.Items.Count-1].SubItems.Add(stBenutzer.iZeit.ToString());
        }
      }
    }
    #endregion
    Ich habe da jetzt die Form und eine Klasse, in der ich alle Funktionen reinpacken möchte. So was ist jetzt mit so Arten von Funktionen (wie oben) die auf Elemente in der Form zurück greifen.
    Wie bekommen ich jetzt die ListView in die Klasse?
    Ok ist kann die ListView mit übergeben, daß mag hier vielleicht noch gehen, aber was ist mit Funktionen je nach Programmstand z.B. Button enabeln, TextBoxen ausblenden, oder z.B. eine TabPage in den Vordergrund stellen u.s.w.

    Oder zählen diese Funktionen zur Form?
    Wie macht Ihr das?

    Ich hoffe Ihr versteht mein Problem!!
    Bis Dann
     

  2. #2
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Hallo Reverent!

    Zitat Zitat von Reverent
    Wie bekommen ich jetzt die ListView in die Klasse?
    Also der ListView gehört ganz und gar nicht zur Klasse.
    Kannst ihn also getrost im Form füllen.
    Schau Dir mal ListView.DataBindings an.
    Zitat Zitat von Reverent
    [...] aber was ist mit Funktionen je nach Programmstand z.B. Button enabeln, TextBoxen ausblenden, oder z.B. eine TabPage in den Vordergrund stellen u.s.w.

    Oder zählen diese Funktionen zur Form?
    Wie macht Ihr das?
    Im Form Implementieren. Das Form visualisiert, also gehört es zum Form.

    Es gibt noch eine weitere Möglichkeit UserControls und/oder Benutzerdefinierte Controls zu erstellen
    und den Code darin zu implementieren. Macht aber nur bei größen Anwendungen sinn.

    MfG, cosmo
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  3. #3
    Registriert seit
    Nov 2003
    Ort
    Bergen / Norway
    Beiträge
    309
    Hi

    Ich mach das enabeln, diabeln, usw. immer in den Forms. Es geht vielleicht auch wenn du Methoden in deinen Klassen schreibst die das machen. Dazu müsstest du dann nur das entsprechende Objekt übergeben. Ob das eine saubere Lösung ist weiß ich nicht. Ergo Probiers einfach aus.

    BloodyGreetz
     
    "Gott ist tot! Gott bleibt tot! Und wir haben ihn getötet." - Friedrich Nietzsche

  4. #4
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Zitat Zitat von LordDeath
    Ob das eine saubere Lösung ist weiß ich nicht. Ergo Probiers einfach aus.
    Dann weiss er immer noch nicht ob's so sauber ist.
    Sowieso währe es nicht sauber.

    Standartisiere deine Klassen. Und verwurschtle nicht alles miteinander.
    Wenn Du das bedürfnis hast innderhalb deiner Klasse,
    ein Ereigniss auf deinem Form auszulösen, dann mach das mit einem Event
    oder ganz einfach wie es der Norbert vorschlagen würde mit einer Reverenz auf dein Form.
    Wenn deine Klasse aber mit einer Referenz oder gar einem Interface deines Forms arbeitet,
    kannst sie ohne Anpassungen nirgendwo weiterverwenden

    MfG, cosmo
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  5. #5
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Wenn schon von mir gesprochen wird, dann mach ich mal lieber selber einen Vorschlag :P

    Also Reverent, du musst da noch eine Kleinigkeit lernen:
    Deine Methoden werden in einigen Fällen Rückgabewerte liefern müssen. Diese Rückgabewerte kannst du dann innerhalb deiner Form hernehmen, um die Daten zu visualisieren. D.h. das Befüllen der ListBox oder was auch immer erfolgt in der Form und nicht in einer anderen Klasse.

    Klassen sollen bestimmte Funktionalitäten kapseln. Diese sollen eigentlich nichts mit der Visualisierung zu tun haben. Ergo werden auch keine Referenzen auf Formen oder ListBoxen etc. übergeben.

    Wenn du diese Trennung sauber machen kannst, dann tust du dir auch mit der Programmierung bzw. mit der Wartung und Pflege leichter. Anfangs ergeben sich dabei natürlich gedanklich ein paar Probleme, aber das legt sich mit der Zeit.
     

Ähnliche Themen

  1. Problem mit on* - funktionen
    Von dasIcebaer im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 15.11.07, 01:17
  2. problem mit statischern Funktionen
    Von gamerfunkie im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 10.09.07, 15:25
  3. Antworten: 7
    Letzter Beitrag: 26.04.06, 21:32
  4. Problem mit Funktionen
    Von sub im Forum Borland CBuilder und VCL
    Antworten: 4
    Letzter Beitrag: 11.06.04, 00:43
  5. Problem mit SDL-Funktionen
    Von Odzilla im Forum C/C++
    Antworten: 13
    Letzter Beitrag: 14.03.04, 15:46