Как поместить RadioButton в switch?

324
31 августа 2017, 17:14

Здравствуйте! В методе есть две переменные(операнда) и оператор. Каждая RadioButton соответствует своему оператору. При выборе одной из RadioButton между операндами должен подставляться свой оператор. Уместен ли в такой ситуации switch? И как его прописать?

Answer 1

советую вам группировать элементы например в панеле,a после этого делать enumeration. Example:

<StackPanel x:Name="radioPanel" HorizontalAlignment="Left" Height="100" Margin="38,68,0,0" VerticalAlignment="Top" Width="100">
            <RadioButton Content="RadioButton"/>
            <RadioButton Content="RadioButton"/>
            <RadioButton Content="RadioButton"/>
</StackPanel>
Answer 2

Спасибо всем кто помог разобраться! Благодаря вашим подсказкам узнал несколько новых фич в с# и xaml. Написал вот такую простенькую программку. Пока не ясно как правильно объявить переменные, выдаёт cs0236 для int.Parse(LeftVar.Text); и int rightOp = int.Parse(RightVar.Text);

 public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }
        public enum ButtonsCheck { Check1, Check2, Check3, Check4, Check5 }
        int leftOp = int.Parse(LeftVar.Text);
        int rightOp = int.Parse(RightVar.Text);
        int result = 0;
    private void Calculated_Click(object sender, RoutedEventArgs e)
    {
        Result.Text = $"Результат: {result.ToString()}";
    }
    private void RadioButton_Checked(object sender, RoutedEventArgs e)
    {
        ButtonsCheck checks = (ButtonsCheck)(new Random()).Next(0, 4);
          switch(checks)
        {
            case ButtonsCheck.Check1:
                AddValues();
                break;
            case ButtonsCheck.Check2:
                SubtractValues();
                break;
            case ButtonsCheck.Check3:
                MultiplayValues();
                break;
            case ButtonsCheck.Check4:
                DivideValues();
                break;
            case ButtonsCheck.Check5:
                RemainderValues();
                break;
        }
    }
    private void AddValues()
    {
        result = leftOp + rightOp;
        Expression.Text = $"Выражение: {LeftVar.Text} + {RightVar.Text}";
    }
    private void SubtractValues()
    {
        result = leftOp - rightOp;
        Expression.Text = $"Выражение: {LeftVar.Text} - {RightVar.Text}";
    }
    private void MultiplayValues()
    {
        result = leftOp * rightOp;
        Expression.Text = $"Выражение: {LeftVar.Text} * {RightVar.Text}";
    }
    private void DivideValues()
    {
        result = leftOp / rightOp;
        Expression.Text = $"Выражение: {LeftVar.Text} / {RightVar.Text}";
    }
    private void RemainderValues()
    {
        result = leftOp % rightOp;
        Expression.Text = $"Выражение: {LeftVar.Text} % {RightVar.Text}";
    }
}

}

READ ALSO
Хранение ресурсов в WPF проекте

Хранение ресурсов в WPF проекте

С недавних пор задаюсь вопросом, в какой ситуации лучше хранить ресурсы проекта просто в папке и обращаться к ним с помощью Uri, а в какой ситуации...

309
Передать Аргумент в wpf программу

Передать Аргумент в wpf программу

Как можно запустив из окна WinForms передать программе на WPF аргументы

281
Проблема с сохранением данных (asp mvc 5+EF)

Проблема с сохранением данных (asp mvc 5+EF)

Добрый день ! Столкнулся с проблемой передачи и сохранения данныхУ меня есть стандартное действие изменение данных о пользователе :

291
Почему сервер не отвечает h264 cms?

Почему сервер не отвечает h264 cms?

Здравствуйте, пытаюсь сделать клиент для IP камеры, ну вот за основу взял обычный клиент h264 CMS и её насниффил, а точнее какие данные должны проходить...

583