www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Dt. Schulen im Ausland: Mathe-Seiten:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "BASIC" - Ereignisse abfangen
Ereignisse abfangen < BASIC < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "BASIC"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Ereignisse abfangen: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 09:09 Mo 09.10.2017
Autor: Diophant

Hallo,

ich habe in VisualBasic (unter Visual Studio 2017) ein kleines Programm geschrieben, wo etwas nicht so funktioniert, wie ich es gerne hätte. Es handelt sich um ein Windows Forms-Projekt.

Das einzige Fenster besitzt zwei Buttons. Beim Klick auf den ersten Button wird eine Schleife gestartet, die durch einen Klick auf den zweiten Button wieder gestoppt werden soll. Realisiert habe ich das so:

1: Dim pn_quit As Boolean
2:
3: Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
4:         Do
5:             'Hier stehen die Befehle, die in der Schleife abgearbeitet werden sollen.
6:             Application.DoEvents()
7:         Loop Until pn_quit
8:         Me.Close()
9: End Sub
10:
11: Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
12:         pn_quit = True
13: End Sub


Wenn ich das Programm starte, dann bewirkt der erste Klick auf den Button2 nur, dass dieser den Fokus erhält. Ein weiterer Klick erzielt dann das gewünschte (den Abbruch der Schleife und Schließen des Fensters).

Was könnte ich besser machen, um den Button2 mit einem einzigen Mausklick dazu zu bringen, das zu tun, wozu er vorgesehen ist?

Vielen Dank im Voraus für jede zielführende Idee.


Gruß, Diophant

        
Bezug
Ereignisse abfangen: Antwort
Status: (Antwort) fertig Status 
Datum: 12:39 Mo 09.10.2017
Autor: leduart

Hallo
aktiviere den Button 2 am Ende deer ersten Routine.
Gruß leduart

Bezug
                
Bezug
Ereignisse abfangen: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 12:50 Mo 09.10.2017
Autor: Diophant

Hallo leduart,

> Hallo
> aktiviere den Button 2 am Ende deer ersten Routine.
> Gruß leduart

Danke!

Vermutlich meinst du mit 'aktivieren' die Methode Select des Button-Objekts. Das funktioniert aber nicht am Ende der Ereignisprozedur des ersten Buttons, sondern nur am Anfang, also vor der Schleife.

Ich habe es gerade probiert und das funktioniert wie gesagt. Es ist nur noch nicht so ganz elegant. Hättest du noch eine andere Idee?

Auf jeden Fall vielen Dank für deinen Tipp!


Gruß, Diophant

Bezug
                        
Bezug
Ereignisse abfangen: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 00:55 Di 10.10.2017
Autor: leduart

Hallo
eigentlich müsste select an deinem Punkt 10 eingefügt funktionieren, durch das erste mal klicke, tust du doch das genau?
Gruß leduart

Bezug
                                
Bezug
Ereignisse abfangen: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 09:05 Di 10.10.2017
Autor: Diophant

Hallo leduart,

> Hallo
> eigentlich müsste select an deinem Punkt 10 eingefügt
> funktionieren,

hm, da war meine Frage ein wenig knapp formuliert. Ich schrieb ja, dass es ein Windows-Forms-Projekt ist, d.h. der ganze Code befindet sich in der Klasse 'Form1'. Somit muss ausführbarer Code in Ereignisprozeduren oder benutzerdefinierten Methoden stehen, aber dazwischen dürfen nur Deklarationen und Kommentare stehen.

> durch das erste mal klicke, tust du > doch das
> genau?
> Gruß leduart

Ja, deswegen funktioniert ja dein Tipp, wenn ich die Select-Methode vor das Me.Close() an den Beginn der Ereignisprozedur Button1_Click (vor der Do-Loop-Schleife) einfüge.

Es passiert dann folgendes: wenn ich den Button 1 klicke startet die Schleife (die ganz nebenbei nach Vollkommenen Zahlen sucht) und gleichzeitig geht der Fokus auf den Button 2. Für ein Programm für den Hausgebrauch tut es das, aber es ist eben kein Verhalten, wie man es von professioneller Software her kennt. Ich kann die nächsten Tage ein wenig Zeit auftreiben und selbst noch nach einer anderen Lösung suchen. Falls ich was finde, werde ich es hier noch mitteilen.

Wenn du oder jemand anders aber noch eine Möglichkeit finden, wie man das ohne den sichtbaren Fokus-Wechsel so hinbekommt, wie man es eben gewohnt ist, wäre ich natürlich über einen entsprechnden Tipp dankbar.

Dir auf jeden Fall schonmal vielen Dank.

Gruß, Diophant

Bezug
                        
Bezug
Ereignisse abfangen: Frage beantwortet
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 10:34 Do 12.10.2017
Autor: Diophant

Hallo leduart nochmals,

wie ich ja schon sagte, habe ich noch ein wenig recherchiert. Nach der Literatur, die mir momentan vorliegt (die ist allerdings nicht sehr vollständig und nicht sehr aktuell) geht das bei Windows-Forms-Projekten nicht anders als von dir geschildert.

Will man es anders haben, muss man es mittels WPF implementieren. Das ist bei mir Zukunftsmusik...

Von daher könnte ein Moderator bitte so nett sein und meine obige Frage auf 'beantwortet' stellen. Vielen Dank im Voraus.


Gruß, Diophant

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "BASIC"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.vorhilfe.de