ClickOnce und inaktives Hauptfenster

9

Meine Anwendung verwendet die ClickOnce-Technologie für die Bereitstellung. Allerdings habe ich ein Problem, wenn der Benutzer die Anwendung startet. Das Szenario zum Reproduzieren des Problems ist wie folgt:

  1. Der Benutzer klickt auf die Verknüpfung der Anwendung, um die Anwendung
  2. auszuführen
  3. ClickOnces Dialogfeld "Anwendung wird gestartet" wird angezeigt, um nach Updates zu suchen
  4. Das Dialogfeld "Anwendung wird gestartet" verschwindet
  5. Begrüßungsbildschirm erscheint
  6. Das Hauptfenster (Anmeldefenster) erscheint - es ist jedoch weder aktiv noch hat es einen Fokus

Da das Hauptfenster nicht aktiv ist, muss der Benutzer darauf klicken, bevor er mit der Eingabe von Benutzername und Passwort beginnen kann. Wie kann ich dieses Problem beheben, so dass das Hauptfenster aktiv ist, nachdem es angezeigt wird? Ich habe den folgenden Code ausprobiert, aber es funktioniert nicht:

%Vor%     
Piotr Ptak 10.08.2011, 09:16
quelle

8 Antworten

1

Höchstwahrscheinlich konzentrieren Sie sich auf den Begrüßungsbildschirm. Also wenn es schließt, hat nichts mehr Fokus. Nachdem Sie das Formular geschlossen haben, rufen Sie die Select-Methode für das Steuerelement auf, das Sie im Fokus haben möchten (das Textfeld für den Benutzernamen, das ich erraten möchte).

Wählen Sie für den Fokus

    
GraeningM 14.03.2012 14:48
quelle
0

probiere diesen Code: Pseudocode:

%Vor%

Ich meine. Verwenden Sie ein anderes Ereignis.

    
Hooch 10.08.2011 18:04
quelle
0

Ich habe eine WPF / ClickOnce-Anwendung und habe nicht das gleiche Problem. Ich benutze nicht die StartupUri von App.xaml, ich zeige stattdessen manuell das Anmeldefenster in App.xaml.cs:

%Vor%     
user381624 13.03.2012 02:18
quelle
0

Nach meinem Verständnis können Sie click-Ereignis im Konstruktor programmatisch auslösen.

    
Vetrivel mp 19.03.2012 07:12
quelle
0

Wie wäre es mit LoginForm.Activate() , nachdem der Startbildschirm geschlossen wurde und das LoginForm angezeigt wird?

    
Steve Wong 26.03.2012 18:47
quelle
0

Vielleicht versuchen Sie, den Fokus auf TextBox in diesem Formular zu legen. Login-Name zum Beispiel.

Ich denke, OnInitialized Event kann zu früh sein. OnShown sollte gut sein.

    
Sarrus 28.03.2012 08:33
quelle
0

Verwenden Sie Visual Studio? Ich weiß, wenn Sie zu den Formulareigenschaften auf der Registerkarte Projekt gehen, können Sie das Startobjekt angeben. Vielleicht können Sie Ihr Hauptformular angeben und der Splashscreen kann davor laden.

    
McAfeeJ 18.04.2012 20:59
quelle
0

hast du es versucht:

%Vor%     
negEntropy 19.04.2012 23:09
quelle

Tags und Links