WPF 后台添加单选按钮组。仅供学习参考

本文详细介绍了如何使用C#创建自定义单选按钮组,包括创建单选按钮对象和绘制按钮组的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//定义属性,方法 

List<RadioButton> RadioButtonMethod;

    private List<RadioButton> CreateRadioButtonGroupObjList(string p_groupName, string[] p_contents, string[] p_names, string[] p_tags, double[] p_widths, double[] p_heights, RoutedEventHandler p_routedEventHandler) {
      List<RadioButton> list = new List<RadioButton>();
      for (int i = 0; i < p_contents.Length; i++) {
        list.Add(CreateRadioButton(p_contents[i], p_groupName, p_names[i], p_tags[i], p_widths[i], p_heights[i], p_routedEventHandler));
      }
      return list;
    }
    private RadioButton CreateRadioButton(string p_content, string p_groupName, string p_name, string p_tag, double p_width, double p_height, RoutedEventHandler p_routedEventHandler) {
      RadioButton newObj = new RadioButton();
      newObj.Content = p_content;
      newObj.GroupName = p_groupName;
      newObj.Name = p_name;
      newObj.Width = p_width;
      newObj.Height = p_height;
      newObj.Tag = p_tag;
      newObj.Click += p_routedEventHandler;
      return newObj;
    }


    private void DrawRadioButtonGroup(Canvas p_canvas, List<RadioButton> p_radioButtonGroup, double p_left, double p_top, double p_margins, bool p_isHorizontal) {


      for (int c = 0; c < p_radioButtonGroup.Count; c++) {
        RadioButton obj = p_radioButtonGroup[c];
        if (p_isHorizontal) {
          Canvas.SetTop(obj, p_top);
          Canvas.SetLeft(obj, p_left + c * obj.Width + c * p_margins);
        } else {
          Canvas.SetTop(obj, p_top + c * obj.Height + c * p_margins);
          Canvas.SetLeft(obj, p_left);
        }
        p_canvas.Children.Add(obj);
      }
    }

private void RadioButton_Method_Click(object sender, RoutedEventArgs e) {
      RadioButton obj = (RadioButton)sender;

      obj.IsChecked = true;
    }


    //private void SetRadioButtonGroupChecked(List<RadioButton> p_radioButtonGroup, int p_index) {
    //  if (p_radioButtonGroup != null && p_radioButtonGroup.Count > 0) {
    //    foreach (RadioButton obj in p_radioButtonGroup) {
    //      if (obj.Tag.ToString() == p_index.ToString()) {
    //        obj.IsChecked = true;
    //      } else {
    //        obj.IsChecked = false;
    //      }
    //    }
    //  }
    //}


调用

//添加请求方式单选按钮

      RadioButtonMethod = CreateRadioButtonGroupObjList("RadioButton_Method", new string[] { "POST", "GET" }, new string[] { "", "" }, new string[] { "0", "1" }
        , new double[] { 60, 60 }, new double[] { 60, 60, }, RadioButton_Method_Click);

      DrawRadioButtonGroup(Canvas_Name, RadioButtonMethod, 400, 240, 5, true);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值