VB.net Fenster nach vorne bringen

8

Was für Code in VB.net 2010 muss ich einstellen, um ein Fenster auf den Bildschirm zu kommen.

Was ich versuche zu erreichen, ist die Anzeige eines dringenden Alarmtyps, ein Formular, aus bestimmten Gründen benutze ich keine Nachrichtenbox.

Jemand hat den folgenden Code vorgeschlagen, aber das funktioniert nicht:

%Vor%     
developer__c 18.07.2011, 18:43
quelle

19 Antworten

19

Es sollte ausreichen, dass Sie die Eigenschaft TopMost des Fensters festlegen, das Sie an die Spitze der anderen Elemente bringen müssen.

Form.TopMost = True

    
ste.xin 18.07.2011, 19:41
quelle
11

probiere

aus %Vor%

Das ist der Trick

EDIT: Ich habe gegoogelt, um Backup für meine Antwort zu finden

Mein Fall

EDIT2:

Es scheint ein paar Dinge zu geben, die funktionieren. die oben genannten sowie

%Vor%

auch

%Vor%

auch

%Vor%     
sealz 18.07.2011 18:46
quelle
6
%Vor%

Nimm nun den Namen des Fensters, das du nach vorne bringen willst, und mache folgendes:

%Vor%

Dies bringt das Fenster an die Vorderseite des Bildschirms.

    
Brian Graham 18.07.2011 18:56
quelle
2

Versuchen Sie es mit dem .Show-Ereignis . Hier ist der Code für einen Drei-Form-Test. Am Ende des Button-Click-Ereignisses sollte sich Form3 oberhalb von Form2 oberhalb von Form1 befinden.

%Vor%     
dbasnett 18.07.2011 19:29
quelle
1

Fenster von vorne nach vorne bringen?

MDI

In MDI mit mehreren Formularen reicht form.BringToFront() aus. Dadurch wird das Formular oben in Ihrer Anwendung verschoben. Sie können auch die Methode form.ShowDialog() verwenden, wenn Sie die Warnung / den Fehler anzeigen.

Desktop

Auf Ihrem Desktop können Sie mehrere Anwendungen haben, gehen Sie besser die Anwendung als TopMost einstellen.

Wenn sich Ihre Anwendung hinter einem anderen Fenster befindet, ist die Warnmeldung möglicherweise nicht sichtbar.

Um application in den Vordergrund zu bringen, benötigen Sie zusätzliche Arbeit, das sind "Erweiterungen" für die Klasse "form", also wird Folgendes verwendet: form.MakeTopMost() :

%Vor%

Wie immer muss der Erweiterungscode in einem separaten Modul sein.

    
fcm 11.05.2016 14:11
quelle
0

Meine Anforderung bestand darin, eine möglicherweise minimierte Anwendung zu öffnen und sie maximiert und aktiv zu machen. Nachdem ich das Netz ein wenig durchforstet habe, fand ich einen Teil der Antwort in einem C ++ Forum.

%Vor%

Dies hat meine Anwendung in jedem Zustand (maxxed, mini'd, groß, klein, hinter Zeug) genommen. es brachte es nach vorne und maximierte es auf dem Bildschirm. deutete es auf dem Bildschirm auf, damit ich es sehen konnte!

    
shadetree 21.03.2013 00:30
quelle
0

Wenn nichts funktioniert, klicken Sie mit der rechten Maustaste und wählen Sie Nach vorne bringen. Wenn andere Bilder die Vorderseite abdecken, klicken Sie mit der rechten Maustaste auf die einzelnen Bilder und wählen Sie Nach Bedarf aus.

    
user2364446 09.05.2013 01:04
quelle
0

Ich benutze:

%Vor%

und in der aufgerufenen Form:

%Vor%

Der aufrufende Formularcode wartet auf das Ergebnis der aufgerufenen Formulare, bevor die Ausführung fortgesetzt wird.

    
owsleyskid 25.07.2013 16:10
quelle
0

Setzen Sie einfach die Eigenschaft Owner des Formulars, das oben angezeigt werden soll:

%Vor%

Jetzt steht frmMessage immer über frmMain , unabhängig vom Fokus.

    
alldayremix 17.10.2013 15:23
quelle
0

Wie ein anderer Benutzer geschrieben hat, ist eine meiner Lieblingsmethoden, den Formularbesitzer festzulegen. Auf diese Weise wird das untergeordnete Formular immer über dem übergeordneten Formular gesetzt, wenn eines der Formulare fokussiert, aktiviert usw. ist. Das Schöne daran ist, dass Sie keine speziellen Ereignisse abfangen und keinen speziellen Code ausführen müssen. Angenommen, Sie haben ein Hauptformular frmMain und ein Popup-Formular frmPopup, können Sie den folgenden Code verwenden, um sicherzustellen, dass das Popup immer über dem Hauptformular liegt, ohne das oberste zu verwenden (was zwar funktioniert, aber einige negative Auswirkungen hat).

%Vor%

oder Sie könnten die längere Version verwenden (wie oben von jemandem

beschrieben) %Vor%

Eine andere Sache, die großartig ist, ist, dass Sie sie auch mit ShowDialog ()

verwenden können %Vor%

Ich weiß, dass dies ein alter Beitrag ist, aber vielleicht finden die Leute, die noch nach einfachen Lösungen suchen, das hier. Es hat wirklich dazu beigetragen, die Funktionalität meiner Programme mit viel weniger Code zu verbessern, als ich zuvor verwendet habe.

    
CrazyC 02.07.2014 14:41
quelle
0

Zeichnen Sie eine sichtbare oberste Form auf dem Bildschirm und machen Sie diese Form zum Besitzer des ShowDialog () - Aufrufs.

    
Jim Nolan 04.11.2014 15:34
quelle
0

Ich weiß, das ist ein wenig alt, aber ich hatte heute ein ähnliches Problem. So habe ich es gelöst. Es funktioniert so lange, wie es Ihnen nichts ausmacht, das offene Formular zu schließen und ein neues Formular zu erstellen.

%Vor%     
user2180706 11.01.2015 18:20
quelle
0

Etwas abseits vom OP ... Ich habe ein "Dashboard", das ich aus einem Menü öffne. Der Benutzer kann zu anderen Fenstern wechseln und dann das Dashboard erneut "laden". Wenn es bereits geladen ist, wird es nach vorne gebracht.

Deklarieren Sie frmFISDash = frmFISDashboard "global"

%Vor%

Beachten Sie die Einstellung von .WindowsState - wenn das Formular minimiert ist, funktioniert .bringToFront nicht.

    
rheitzman 15.01.2015 16:02
quelle
0

Ich habe es auf diese Weise gelöst (mein Nutzen für jemanden) - so bringt es die versteckte Form auch im Debug-Modus nach vorne:

%Vor%     
dragonfly 15.08.2015 10:35
quelle
0

Um zu nehmen, was Jim Nolan aufgrund seiner Beschreibung gesagt hat. Dies ist der beste Weg, um sicherzustellen, dass das Formular an vorderster Stelle aller anderen Formulare steht. Außerdem können Sie das Formular entsor- gen, das Eigentum des neuen Formulars zuweisen und das Formular

anzeigen %Vor%     
DotNet Programmer 11.11.2015 15:29
quelle
0

Am einfachsten erschien es mir, ein Formular namens "Projekte" aufzurufen, nachdem ich auf eine Menüoption geklickt hatte. Das Formular wird bei Bedarf geladen, bei Bedarf UN-minimiert und nach vorne gebracht ("Fokus").

%Vor%     
Matt D 30.04.2016 15:38
quelle
0

siehe folgendes Beispiel beim Laden von Formularen

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

%Vor%     
betrice mpalanzi 15.03.2017 16:27
quelle
0

Wenn das, was Sie wollen, von bringen, nachdem der Winfom den Fokus verloren hat oder minimiert wurde. In meinem Fall, arbeite, wenn ich ein Winform auf eine Schaltfläche öffne.

%Vor%     
Andrei Rojas 28.08.2017 17:45
quelle
-1

ein kleiner Trick:

%Vor%     
user3166751 06.01.2014 20:05
quelle

Tags und Links