Benutzer mit den meisten Antworten
Bezeichnung (Font.Style) von Optionsfeldern ändern (VB.Net)

Frage
-
Hallo,
wie ist es möglich, die Beschriftung von Optionsfeldern bei Auswahl von "Normal" auf "Fett" umzuwandeln und zurück?
Habe ca. 15 Optionsfelder und der Benutzer soll erkennen, welches Optionsfeld er gerade aktiviert hat.
Wenn er ein neues Optionsfeld selektiert soll das vorab gewählte wieder Schriftart "Normal" bekommen ...Danke für die Hilfe
Gruß ro_grille
Freitag, 11. Oktober 2019 16:13
Antworten
-
Hi,
wenn die genutzte Technologie nicht genannt ist, dann gehe ich nicht davon aus, dass ältere Technologien gemeint sind.Hier mal eine kleine Demo. Einfach in eine leere Form kopieren (ohne weitere Design-Aktivitäten). Mit dem ChckedChanged-Ereignis wird die Änderung des Zustandes "gefangen" in in Abhängigkeit von der Checked-Eigenschaft der Style gesetzt.
Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load For i = 1 To 10 Dim rb As New RadioButton With {.Text = $"Option {i}", .Top = i * 20} AddHandler rb.CheckedChanged, AddressOf rb_CheckedChanged Me.Controls.Add(rb) Next End Sub Private Sub rb_CheckedChanged(sender As Object, e As EventArgs) Dim rb = TryCast(sender, RadioButton) If rb Is Nothing Then Exit Sub rb.Font = New Font(rb.Font.FontFamily, rb.Font.Size, If(rb.Checked, FontStyle.Bold, FontStyle.Regular)) End Sub End Class
--
Best Regards / Viele Grüße
Peter Fleischer (former MVP for Developer Technologies)
Homepage, Tipps, Tricks- Als Antwort markiert ro_grille Sonntag, 13. Oktober 2019 14:01
Sonntag, 13. Oktober 2019 07:16
Alle Antworten
-
Hi,
wenn es eine WPF Anwendung ist, dann füge einen Style mit Trigger hinzu, z.B. so:<Window x:Class="Window56" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfApp1" mc:Ignorable="d" Title="Window56" Height="450" Width="800"> <Window.Resources> <Style TargetType="RadioButton"> <Setter Property="FontWeight" Value="Normal"/> <Style.Triggers> <Trigger Property="RadioButton.IsChecked" Value="True"> <Setter Property="FontWeight" Value="Bold" /> </Trigger> </Style.Triggers> </Style> </Window.Resources> <StackPanel> <RadioButton Content="Option 1"/> <RadioButton Content="Option 2"/> <RadioButton Content="Option 3"/> <RadioButton Content="Option 4"/> <RadioButton Content="Option 5"/> <RadioButton Content="Option 6"/> <RadioButton Content="Option 7"/> <RadioButton Content="Option 8"/> <RadioButton Content="Option 9"/> <RadioButton Content="Option 10"/> <RadioButton Content="Option 11"/> <RadioButton Content="Option 12"/> <RadioButton Content="Option 13"/> <RadioButton Content="Option 14"/> <RadioButton Content="Option 15"/> </StackPanel> </Window>
--
Best Regards / Viele Grüße
Peter Fleischer (former MVP for Developer Technologies)
Homepage, Tipps, TricksSamstag, 12. Oktober 2019 03:04 -
Hi,
wenn die genutzte Technologie nicht genannt ist, dann gehe ich nicht davon aus, dass ältere Technologien gemeint sind.Hier mal eine kleine Demo. Einfach in eine leere Form kopieren (ohne weitere Design-Aktivitäten). Mit dem ChckedChanged-Ereignis wird die Änderung des Zustandes "gefangen" in in Abhängigkeit von der Checked-Eigenschaft der Style gesetzt.
Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load For i = 1 To 10 Dim rb As New RadioButton With {.Text = $"Option {i}", .Top = i * 20} AddHandler rb.CheckedChanged, AddressOf rb_CheckedChanged Me.Controls.Add(rb) Next End Sub Private Sub rb_CheckedChanged(sender As Object, e As EventArgs) Dim rb = TryCast(sender, RadioButton) If rb Is Nothing Then Exit Sub rb.Font = New Font(rb.Font.FontFamily, rb.Font.Size, If(rb.Checked, FontStyle.Bold, FontStyle.Regular)) End Sub End Class
--
Best Regards / Viele Grüße
Peter Fleischer (former MVP for Developer Technologies)
Homepage, Tipps, Tricks- Als Antwort markiert ro_grille Sonntag, 13. Oktober 2019 14:01
Sonntag, 13. Oktober 2019 07:16