matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

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:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenBASICEreignisse abfangen
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Philosophie • Religion • Kunst • Musik • Sport • Pädagogik
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.matheraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]