WPF RadioButton控件 一定要选一个

WPF RadioButton控件 一定要选一个

RadioButton 控件用于提供多个选项供用户选择,其中只能选择一个。RadioButton 通常用于一组互斥的选项,如性别选择或支付方式选择,如判断题选择选项。

    <StackPanel>
        
        <Label>请选择你的性别:</Label>
        
        <RadioButton >男</RadioButton>
        <RadioButton>女</RadioButton>

    </StackPanel>

  

按F5运行,点一点,可以看到只能选择一项,不能选择多项。

添加一个功能吧。添加一个button,点击后显示选择的选项。

首先完善一下XAML,将RADIOBUTTON加上名称,添加一个button。

    <StackPanel>
        
        <Label>请选择你的性别:</Label>
        
        <!--给RadioButton 加上名称-->
        <RadioButton x:Name="radio1">男</RadioButton>
        <RadioButton x:Name="radio2">女</RadioButton>

        <Button Click="Button_Click" >提交</Button>

    </StackPanel>

然后完善buttonc-click代码,双击设计器上的button按钮就能进入CS代码文件。

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            // 两个都没选
            if ((radio1.IsChecked == false) && (radio2.IsChecked == false))
            {
                MessageBox.Show("没有选择性别,请选择一个!");
            }

            // 选择了radio1
            if(radio1.IsChecked == true){
                MessageBox.Show("选择了radio1,radio1的文本内容为:"+radio1.Content);
            }

            // 选择了radio2
            if (radio2.IsChecked == true)
            {
                MessageBox.Show("选择了radio2,radio2的文本内容为:"+radio2.Content);
            }
        }

 

按F5,点一点试试。

_______________________________________

做个例子吧。

和上面一样,只不过完善了一下,调整了样式。

    <StackPanel>
        <!--Label不能直接换行,可以嵌套一个TextBlock,也可以直接用TextBlock-->
        <Label>
            <TextBlock Text="判断题:一杯水的温度是100℃,另一杯的温度是20℃,两杯倒在一起,水的温度将是120℃。" 
                       TextWrapping="Wrap" 
                       Margin="10"
                       />
        </Label>
        
        <!--设置控件边界增加10点,看起来不拥挤-->
        <RadioButton x:Name="radioTrue" 
                     Content="正确"
                     Margin="10"
                     />
        <RadioButton x:Name="radioFalse"  
                     Content="错误"
                     Margin="10"
                     />

        <Button Click="Button_Click" 
                Content="提交" 
                Margin="10"
                Width="100"
                Height="30"
                />

    </StackPanel>

 

 

 完善CS文件源代码。

        private void Submit(object sender, RoutedEventArgs e)
        {
            if ((radioTrue.IsChecked == false) && (radioFalse.IsChecked == false))
                MessageBox.Show("没有选择,请选一个");

            if (radioTrue.IsChecked == true)
                MessageBox.Show("WHAT HELL,认真看一下题!");

            if (radioFalse.IsChecked == true)
                MessageBox.Show("答对了!");
        }

 

按一下F5试试。

 

posted @ 2024-11-05 22:02  Surfnet  阅读(727)  评论(0)    收藏  举报