Radiobutton

hallo zusammen,

und zwar wir müssen für die berufsschule ein vb 2005 projekt machen wirklich nur ein kleines aber es gibt da etwas wo ich hänge.
Und zwar beim Code steht:

Private Sub rad_danke_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles rad_danke.Click
End Sub

Was ja nichts anderes heißt wenn der Radiobutton geklickt ist mach was.
So wie muss ich es anstellen damit ich dort nen Timer einbauen kann der den Focus bzw den Klick des Radiobuttons wieder entfern nach 3 Sekunden?

Ich dachte da an sowas aber irgendwie finde ich nichts wie ich den Focus wieder entfernen kann:

Private Sub rad_danke_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles rad_danke.Click
tim_danke.Interval = 3000
tim_danke.Enabled = True
tim_danke.Start()
’ Funktion finden die Focus entfernt’
End Sub

wenn mir jemand helfen kann muss auch kein code sein sondern nur ein tip.

danke im vorraus

Hallo,

VB2005 ist VB.net, drei Bretter weiter oben.

Ich dachte da an sowas aber irgendwie finde ich nichts wie ich
den Focus wieder entfernen kann:

Private Sub rad_danke_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles rad_danke.Click
tim_danke.Interval = 3000
tim_danke.Enabled = True
tim_danke.Start()

Ist das in VB2005 nötig? Bei Enabled = True startet der Timer in VB6 ohnehin, einen Startbefehl braucht man nicht, gibt es nicht. Sobald der Timer aktiv ist, läuft er, bis er wieder disabled wird und feuert im Interval Events.

’ Funktion finden die Focus entfernt’
End Sub

wenn mir jemand helfen kann muss auch kein code sein sondern
nur ein tip.

Dir fehlt noch der Code für den Timer, der den Focus auf ein anderes Steuerelement setzt. Für VB6 könnte ich Dir auch Code schreiben. :smile:

Gruß, Rainer

wie sieht den der code ungefähr aus um den timer auf ein steuerelement zu legen.
Sorry für meine noob fragen aber ich hab gerade mal 2 Stunden VB erfahrung.

Hallo,

wie sieht den der code ungefähr aus um den timer auf ein
steuerelement zu legen.

der Timer ist ein Steuerelement.

Sorry für meine noob fragen aber ich hab gerade mal 2 Stunden
VB erfahrung.

Das macht ja nix, dafür ist w-w-w doch da … Fragen stellen.
aber ich kann Dir mit VB2005 wirklich nicht viel weiter helfen, versuchs lieber im passenden Brett.

Für VB6 würde Dein Code so aussehen:

Option Explicit

Private Sub Option1\_Click()
 Timer1.Interval = 3000
 Timer1.Enabled = True
End Sub

Private Sub Timer1\_Timer()
 Timer1.Enabled = False
 Option2.Value = True
 Option2.SetFocus
End Sub

Option sind die Radiobuttons.

Dir fehlt das Timer-Steuerelement auf der Form und die dazugehörige Prozedur. Heißt Timer und sieht aus, wie eine Stoppuhr.

Gruß, Rainer

wie sieht den der code ungefähr aus um den timer auf ein
steuerelement zu legen.
Sorry für meine noob fragen aber ich hab gerade mal 2 Stunden
VB erfahrung.

warte hier ist die aufgabenstellung dann kann sich der profi da etwas besseres darunter vorstellen.

Erstellen Sie ein Formular in dem folgende Steuerelemente vorkommen. Die farbliche Gestaltung und die Aufteilung der Steuerelemente obliegen Ihnen.

Beachten Sie die Namensgebung der einzelnen Steuerelemente.
Button, Checkbox, Textbox, Label, DatetimePicker, Radio Button, Picture Box,
numeric up down, Combo Box, Timer

Folgende Funktionen soll das Programm beeinhalten:
Wird mit dem Cursor auf eine Steuerelement geklickt, dann soll eine kurze
Beschreibung im Label (2) eingeblendet werden und nach Ablauf des Timers
wieder ausgeblendet werden.

Ebenso sollen Checkbox und Radiobutton mit einem Timer versehen werden
und nach Ablauf dieses die Aktivierung wieder aufgehoben werden.

Ein Button soll die Funktion Programm beenden beinhalten.
(Das mit dem Button zum schliessen war eh einfach Me.Close)

Hallo,

ich habe das gerade mal mit VB2005 probiert, geht auch. :smile:

Public Class Form1

 Public Sub New()

 ' Dieser Aufruf ist für den Windows Form-Designer erforderlich.
 InitializeComponent()
 RadioButton2.Checked = True
 ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.

 End Sub

 Private Sub RadioButton1\_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButton1.Click
 Timer1.Interval = 3000
 Timer1.Enabled = True
 End Sub

 Private Sub Timer1\_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
 Timer1.Enabled = False
 RadioButton2.Checked = True
 RadioButton2.Select()
 End Sub
End Class

Aber ich habe von VB2005 wirklich keine Ahnung!

Gruß, Rainer

Hallo,

Danke für die Aufgabe, noch genauer kann man das Problem nicht beschreiben. So kann man doch wirklich wirkungsvoll helfen! Ich hoffe, Du kommst öfter! :smile:

warte hier ist die aufgabenstellung dann kann sich der profi
da etwas besseres darunter vorstellen.

Erstellen Sie ein Formular in dem folgende Steuerelemente
vorkommen. Die farbliche Gestaltung und die Aufteilung der
Steuerelemente obliegen Ihnen.

Beachten Sie die Namensgebung der einzelnen Steuerelemente.
Button, Checkbox, Textbox, Label, DatetimePicker, Radio
Button, Picture Box,
numeric up down, Combo Box, Timer

OK. hab ich nicht gemacht, da wußte ich da ja noch nicht. Mit den anderen Details hast Du doch auch kein Problem? ich mag nicht alles machen, dann lernst Du ja nichts …

Folgende Funktionen soll das Programm beeinhalten:
Wird mit dem Cursor auf eine Steuerelement geklickt, dann soll
eine kurze
Beschreibung im Label (2) eingeblendet werden und nach Ablauf
des Timers
wieder ausgeblendet werden.

Das bekommst Du hin, oder?

Ebenso sollen Checkbox und Radiobutton mit einem Timer
versehen werden

Das ist irreführend. Entweder Du verwendest dafür ein Timer-Steuerelement oder Du baust eine Warteschleife ein. So etwas macht man dann in einer eigenen Prozedur, bei mir heißt die immer ‚Warte‘. Ich habe es gerad probiert, das bekomme ich in VB2005 nicht hin, mir Fehlt die Timer-Funktion, die muß jetzt anders heißen … Ich hab doch keine Ahnung! :frowning:

und nach Ablauf dieses die Aktivierung wieder aufgehoben
werden.

Das geht mit einem Timer-Steuerelement auch.

Ein Button soll die Funktion Programm beenden beinhalten.
(Das mit dem Button zum schliessen war eh einfach Me.Close)

OK. Bei mir hätte da nur ‚End‘ gestanden. :smile:

Gruß, Rainer

Option Explicit

Private Sub Option1_Click()
Timer1.Interval = 3000
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
Timer1.Enabled = False
Option2.Value = True
Option2.SetFocus
End Sub

Ja das mit der Uhr hab ich gemacht dort kann man die einstellung Enabled Time usw… einstellen jedoch hab ich eine Frage wie macht das VB ruft es die Sub nacheinander auf oder kann man das wie in C mit Funktionen vergleichen?
Weil ich sehe im ersten Sub setzt du die Zeit und aktivierst ihn.
Arbeitert sich vb runter also wie in basic halt das heißt bei der Sub(2) deaktivierst du ihn wieder setzt den wert vom radiobutton auf true + focus oder verstehe ich da etwas falsch?

Hallo,

Ja das mit der Uhr hab ich gemacht dort kann man die
einstellung Enabled Time usw… einstellen

da mußt Du nichts einstellen, das machst Du doch später im Code.

jedoch hab ich eine
Frage wie macht das VB ruft es die Sub nacheinander auf oder
kann man das wie in C mit Funktionen vergleichen?

Nein, die werden natürlich nicht nacheinander abgearbeitet. Das war mal in Quickbasic so. :smile: VB wartet auf Ereignisse (Events) und arbeitet dann die Prozedur ab, die diesem ereignis zugeordnet wurde.

Beispiel:
Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick

Dieses Ereignis wird ausgelöst, wenn der Timerinterval abgelaufen ist. Ob der Timer überhaupt läuft und Ereignisse auslöst, wird mit der eigenschft ‚Enabled‘ festgelegt.

Es gibt keinen linearen Code, nur die Reaktion auf Ereignisse. Davon lebt VB.

Weil ich sehe im ersten Sub setzt du die Zeit und aktivierst
ihn.

Das Ereignis löst Du durch den Klick auf den Radiobutton aus. VB reagiert auf das Klick-Ereignis.

Arbeitert sich vb runter also wie in basic halt

Nein. Das ist Zufall, daß das oben steht.

das heißt bei
der Sub(2) deaktivierst du ihn wieder setzt den wert vom
radiobutton auf true + focus oder verstehe ich da etwas
falsch?

Nein, das verstehst Du kaum falsch. Da deaktiviere ich den Timer wieder, er hat seine Arbeit ja erledigt. Das passiert aber nicht, weil die Prozedur da steht, sondern weil der Interval abgelaufen ist.

Gruß, Rainer

ok dann danke nochmal habs geschaft.
Danke für deine Hilfe wenigstens sehe ich jetzt licht am horizont ^^

ok das ist gut jetzt kenn ich mich aus da hats gefällt vb arbeitet event basierend.

PS: Das Programm geht jetzt ^^

danke nochmal für die hilfe.

Hi,

ok dann danke nochmal habs geschaft.
Danke für deine Hilfe wenigstens sehe ich jetzt licht am
horizont ^^

OK. Ich hoffe es hat trotzdem geholfen. Etwas weiter oben gibt es eine .net Brett, da wären die Experten gewesen … ich kann doch nur VB6.

Gruß, Rainer