Radiobutten automatisch umstellen

Hallo
ich würde gern mit zeitsteuerung Radiobuttons umschalten.
brauche das um bei meinem programm umzustellen was es für eine mail schicken soll (programm ist für die feuerwehr, also es unter der woche die normale einsatz mail schicken und donnerstags zwischnen 10 vor 8 und 10 nach 8 einen andernen radiobutton auswählen um die mail in „probealarm“ zu ändern)

VB = 2010 XP Pro Sp3

mfg
philipp fritz

Hallo!
Und wo ist genau das Problem?
Ob ein Radiobutton angehakt ist oder nicht wird über die Eigenschaft „Checked“ eingestellt. Zum Hantieren mit Zeitangaben gibt es die Klasse DateTime. Damit ist es kein Problem, so etwas zu realisieren.

Wenn Du nicht genauer beschreibst, an welcher Stelle Du nicht weiter kommst, werden die Chancen auf Hilfe eher gering sein, weil Dir niemand die fertige Lösung „einfach so“ in die Hand drücken wird.

Was hast Du denn schon erreicht?

Gruß,
Martin

Guten Tag,
mein problem ist das ich nicht weiß wie man den radiobutton automatiosch auf checked einstellen kann
z.b. soll er jeden donnerstag um 19.50 uhr automatisch auf checked umgstellt werden und um 20.10 soll dann wieder ein anderer auf checked gestellt werden.
ich habe schon mehreres mit dem befehl probiert bin aber zu hilfreichen ergebniss gekommen.
ich habe 2 textboxes die mir die zeit angeben (stunden und minuten) bis jetzt bin ich nur soweit gekommen:

Private Sub Timer5_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer5.Tick
Dim wochentag As Integer = My.Computer.Clock.LocalTime.DayOfWeek
Dim stunden As Integer = My.Computer.Clock.LocalTime.Hour
Dim minuten As Integer = My.Computer.Clock.LocalTime.Minute

Timer5.Start()
TextBox8.Text = stunden
TextBox10.Text = minuten
TextBox9.Text = wochentag

End Sub

Private Sub RadioButton3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
If TextBox8.Text = 20 And
TextBox10.Text = 11 And
TextBox9.Text = 4 Then
'radiobutton3 -> auf checked gestellt werden

und da komm ich nicht merh weiter

mfg. philipp fritz

Hallo!

Ok, damit bei laufendem Programm der Radiobutton umgestellt wird, benötigst Du einen Timer (wie Du es ja schon gemacht hast).
Dabei feuert der von Dir verwendete Timer aber immer, wenn er einmal gestartet wurde. Du solltest ihn also nicht im Tick-Ereignis immer wieder neu starten. Einmal nach dem Erzeugen langt völlig.

Die Zeitbestandteile sich erst als Integer-Werte zu holen, dann in jeweils eine Textbox schreiben und woanders wieder den Text auszulesen, in Integerwerte umzuwandeln, um sie dann vergleichen zu können, ist hochgradig ineffizient.

Mach doch’ einfach folgendes:
In Deiner Timer_Tick Routine schreibst Du z.B.:

if (DateTime.Now.TimeOfDay \>= new TimeSpan(19, 50, 0) and \_
 DateTime.Now.TimeOfDay 
Damit wird jeweils Donnerstags zwischen 19:50 und 20:10 der RadioButton1 gesetzt und außerhalb dieser Zeit der RadioButton2.

Allgemein bleibt zu Deinem Code aber zu sagen: Bei Bezeichnungen wie "TextBox10" rollen sich mir immer die Fußnägel hoch. Gib Deinen Steuerelementen vernünftige Namen! Du heißt ja schließlich auch Philipp und nicht Kind1.

Gruß,
Martin

danke =)
und mit der textbox hast du recht :wink:

mfg philipp fritz

Hallo,

ich hab jetzt noch ne frage:

und zwar hätte ich gerne wenn ich in einer textbox die zeit später noch einstellen kann und diese in my.settings speichern kann

das die textbox gespeichert wird funktioniert wunderbar

leider funktioniert mit die konvertierung der textbox in timespan nicht und somit kommt immer ein fehler

soweit bin ich gekommen… aber es funktioniert nicht da „Die Zeichenfolge nicht als gültiger TimeSpan erkannt wurde“

ich hab schon probiert in der textbox „19,55,00“ bzw "19:55:00 einzugeben aber leider ohne ergebniss


Dim ap As New TimeSpan ’ aps = anfang probealarmzeit
Dim aps As String = Einstellungen.probezeita.Text ’ aps = anfang probealarmzeit - string
ap = TimeSpan.Parse(aps)

Dim ep As New TimeSpan ’ ep = ende probealarmzeit
Dim eps As String = Einstellungen.probezeite.Text ’ eps = ende probealarmzeit - string
ep = TimeSpan.Parse(eps)

If (DateTime.Now.TimeOfDay >= ap And _
DateTime.Now.TimeOfDay