C#中Windows设计窗怎么实现单选框和省市下拉框联动?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中Windows设计窗怎么实现单选框和省市下拉框联动?相关的知识,希望对你有一定的参考价值。

你好,软糖帮你做出来了。

代码

 public partial class Form1 : Form 
        public List<string> 省;
        public SortedList<string, List<string>> 省市列表;
        public List<RadioButton> 单选框组;

        public Form1() 
            InitializeComponent();
        

        private void Form1_Load(object sender, EventArgs e) 
            初始化省市列表();          
            初始化单选框();
            初始化下拉框();
            
        
        private void 初始化省市列表() 
            省 = new List<string>()  "广东", "浙江", "湖北", "湖南" ;
            省市列表 = new SortedList<string, List<string>>();
            for (int i = 0; i < 省.Count; i++) 
                省市列表.Add(省[i], new List<string>());
            
            省市列表["广东"].AddRange(new string[]  "广州市", "珠海市", "汕头市", "佛山市" );
            省市列表["浙江"].AddRange(new string[]  "杭州市", "湖州市", "绍兴市", "宁波市" );
            省市列表["湖北"].AddRange(new string[]  "武汉市", "宜昌市", "十堰市" );
            省市列表["湖南"].AddRange(new string[]  "长沙市", "株洲市", "湘潭市" );
        
        private void 初始化下拉框() 
            //添加省级数据
            comboBox1.Items.Clear();
            foreach (var item in 省)  comboBox1.Items.Add(item); 
            //添加第一个省的市级数据
            载入市级数据(0);
            comboBox1.SelectedIndex = 0;
        
        private void 初始化单选框() 
            单选框组 = new List<RadioButton>();
            单选框组.AddRange(new RadioButton[]  radioButton1, radioButton2, radioButton3, radioButton4 );
            for (int i = 0; i < 单选框组.Count; i++) 
                单选框组[i].Text = 省[i];
                单选框组[i].CheckedChanged += 单选框组_CheckedChanged;
            
        
        private void 载入市级数据(int 第几组) 
            comboBox2.Items.Clear();
            foreach (var item in 省市列表[省[第几组]])  comboBox2.Items.Add(item); 
        
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) 
            int i = comboBox1.SelectedIndex;
            if (单选框组!=null) 
                if(i>=0 && i < 单选框组.Count)  单选框组[i].Checked = true; 
                      
            载入市级数据(i);
            comboBox2.SelectedIndex = 0;          
        

        private void 单选框组_CheckedChanged(object sender, EventArgs e) 
            for (int i = 0; i < 单选框组.Count; i++) 
                if (单选框组[i].Checked) 
                    comboBox1.SelectedIndex = i;
                    载入市级数据(i);
                    comboBox2.SelectedIndex = 0;
                    break;
                
            
        
    

参考技术A 在单选按钮的单击事件里面绑定下拉框的内容就行了呗追问

能说具体一点吗?

jQuery重置单选框和input框

取消选中单选框radio,第一种,第二种方式是使用jQuery实现的,第三种方式是基于JS和DOM实现的,大家可以看看下面的示例

本文提供了三种取消选中radio的方式,代码示例如下:

本文依赖于jQuery,其中第一种,第二种方式是使用jQuery实现的,第三种方式是基于JS和DOM实现的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<!DOCTYPE HTML>
<html>
<head>
<title>单选按钮取消选中的三种方式</title>
<script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js">
</script>
<script type="text/javascript">
$(function(){
//
var $browsers = $("input[name=browser]");
var $cancel = $("#cancel");
var $byhide = $("#byhide");
var $remove = $("#remove");
//
$cancel.click(function(e){
// 移除属性,两种方式都可
//$browsers.removeAttr("checked");
$browsers.attr("checked",false);
});
//
$byhide.click(function(e){
// 切换到一个隐藏域,两种方式均可
//$("#hidebrowser").attr("checked",true);
$("#hidebrowser").attr("checked","checked");
});
//
$remove.click(function(e){
// 直接去的DOM元素,移除属性
// 如果不使用jQuery,则可以移植此方式
var checkedbrowser=document.getElementsByName("browser");
/*
$.each(checkedbrowser, function(i,v){
v.checked = false;
v.removeAttribute("checked");
});
*/
//
var len = checkedbrowser.length;
var i = 0;
for(; i < len; i++){
// 必须先赋值为false,再移除属性
checkedbrowser[i].checked = false;
// 不移除属性也可以
//checkedbrowser[i].removeAttribute("checked");
}
 
});
});
</script>
</head>
<body>
<p>您喜欢哪款浏览器?</p>
 
<form>
<input style="display:none;" id="hidebrowser" type="radio" name="browser" value="">
<input type="radio" name="browser" value="Internet Explorer">Internet Explorer<br />
<input type="radio" name="browser" value="Firefox">Firefox<br />
<input type="radio" name="browser" value="Netscape">Netscape<br />
<input type="radio" name="browser" value="Opera">Opera<br />
<br />
<input type="button" id="cancel" value="取消选中方式1" size="20">
<input type="button" id="byhide" value="取消选中方式2" size="20">
<input type="button" id="remove" value="取消选中方式3" size="20">
</form>
 
</body>
</html

 

 

 

 

 

取消

$(‘.reset-bottom‘).click(function(){
$(‘.mui-input-clear‘).attr(‘value‘,‘‘);
$(‘input[name=sex]‘).removeAttr("checked");
$(‘input[name=type]‘).removeAttr("checked");
$(‘input[name=steelyard]‘).removeAttr("checked");
$(‘input[name=brand]‘).removeAttr("checked");

});

以上是关于C#中Windows设计窗怎么实现单选框和省市下拉框联动?的主要内容,如果未能解决你的问题,请参考以下文章

下拉框和单选框复选框的选中的值

android单选框和复选框(练习)

easyui 的复选框问题!!!

jQuery重置单选框和input框

学习:单选框和多选框

章节十5-单选框和复选框