清除在访问开关外壳之前应用于每个按钮的修改

本文关键字:按钮 修改 应用于 访问 开关 外壳 清除 | 更新日期: 2023-09-27 18:32:22

我的通用应用程序中有很多按钮,所以我最终得到的代码如下所示:

private void btn1_Click(object sender, RoutedEventArgs e)
{
    choix_buttons(sender, e);
}
private void btn2_Click(object sender, RoutedEventArgs e)
{
   choix_buttons(sender, e);
}
        .........
private async void choix_buttons(object sender, RoutedEventArgs e)
{
    Button Btn = sender as Button;
    switch (Btn.Name)
    {
            case "btn1":
                //do something for button1's style
                break;
             case "btn2":
                //do something for button2's style
                break;
    }
    ...all the other buttons
}

我的代码为每个选定的按钮应用特定的样式,但我有一个问题,当我单击 button2 时,它会应用 Button2 的样式,而不是当我单击 Button1 时,它会应用 Button1 的样式,依此类推,所以我得到的不仅仅是一个应用了他的样式的按钮。

那么,在访问开关大小写子句之前,我如何清除我为每个按钮应用的修改呢?感谢您的帮助。

清除在访问开关外壳之前应用于每个按钮的修改

你有几个选择。1.您可以循环浏览所有控件,如果是按钮,则应用默认样式。如果您有不想应用它的按钮,这是有问题的。2. 您可以按住对样式按钮的引用,如下所示:

 //Your reference to the styledButton
 private Button styledButton;
 private  void btn1_Click(object sender, RoutedEventArgs e)
 {
      choix_buttons(sender, e);
 }
 private  void btn2_Click(object sender, RoutedEventArgs e)
 {
      choix_buttons(sender, e);
 }
 private async void choix_buttons(object sender, RoutedEventArgs e)
 {
     //Here you can set styledButton = default styling
     Button Btn = sender as Button;
     switch (Btn.Name)
     {
          case "btn1":
              //do something for button1's style
              break;
          case "btn2":
              //do something for button2's style
              break;
     }
              ...all the other buttons
      //And here you set the styledButton = the button that was pressed
      styledButton = Btn;
 }