[C#] Daten-Preloader für Netzwerkressourcen

Danielku15

Erfahrenes Mitglied
Hallo Leute.

Ich habe gerade ein kleines Problem. Ich habe mir ein kleines Tool geschrieben. Dieses Programm benötigt die verschiedenen Netzwerkressourcen wie Arbeitsgruppen und Computer. Wenn ich diese Ressourcen im normalen Form laden würde, würde es ein paar Sekunden dauern bis das Programm überhaupt gestartet wird. Jetzt dachte ich an einen kleinen Preloader mit Progessbar. Ihn zu erstellen wäre eigentlich kein großes Problem. Einfach ein neues Form mit Progressbar drinnen. Und die Daten in die Arraylist des anderen versteckten Forms schreiben. (Wie in dem Tutorial aus der Tutorialsektion) Jetzt habe ich aber leider 2 Probleme:

#### Problem 1 ####
Ich lade die Netzwerkressourcen über folgenden Code:
C#:
// Alle Arbeitsgruppen im Netzwerk durchlaufen
System.DirectoryServices.DirectoryEntry root = new System.DirectoryServices.DirectoryEntry("WinNT:");
foreach (System.DirectoryServices.DirectoryEntry dDom in root.Children)
{
            // Arbeitsgruppe dem arraylist hinzufügen
            Domains.Add(dDom);
            // Alle PCs der aktuellen gruppe durchlaufen
            foreach (System.DirectoryServices.DirectoryEntry dPC in dDom.Children)
            {
                        // pc dem arraylist hinzufügen
                        Computer.Add(dPC);
            }
}

Domains und Computer sind die 2 Arraylist mit den Arbeitsgruppen und den Computern. Wie kann ich nun am besten den Progressbar so ansteuern dass mir die Prozentanzeige auch richtig hinaufzählt. Ich hab keinen Schimmer wie ich die Prozenzahlen berechnen könnte.

#### Problem 2 ####
Wie mach ich es am besten dass zuerst der Preloader angezeigt wird und dann geladen wird. Denn zur Zeit exestiert der Preloader noch nicht. Da befindet sich der obige Code noch als Methode im Quelltext welche beim Laden des Forms aufgerufen wird. Da hab ich ebenfalls das Problem dass zuerst die Ressourcen geladen werden und dann erst das Form sichtbar wird.

Ich hoffe ihr wisst Rat.

gruß Daniel
 
Weiß keiner wie ich das regeln könnte? Oder bin ich ins falsche Unterforum gerutscht dass in dieser Kategorie keiner weiterweiß. :(

gruß Daniel
 
Ich würde dies nicht über einen Preloader machen, sondern gleich das Mainfenster anzeigen und den User dann seine Auswahl treffen lassen. Dann nimmt er auch eher in Kauf, dass er etwas warten muss.
 
Wie meinst du dass mit sofort das Mainfenster anzeigen und dann den User seine Auswahl treffen lassen. Das Programm ist ein Net-Send Messenger. Daher sind diese Ressourcen ein Hauptbestandteil des Programms und sollten vor geladen sein wenn das Form angezeigt wird.
 
Ein Net Send Messenger? Es gibt wirklich noch Leute die diesen Dienst aktiviert haben?

Naja, wenn du unbedingt einen Preloader haben willst, dann solltest dir mal die Geschichte mit den Splash Screens anschaun. Da gibts ca. 10.000 Beispiele im Netz und ich denk, das könnte durchaus das Richtige für dich sein.
 
Zurück