C# 根据Combobox控件来动态显示TabControl下的子元素
根据下来列表来动态显示TabControl下的元素
需要准备两个控件:Combobox (命名为:cbPrjType)和 TabControl (命名为:tabPrjType),TabControl下面有六个子元素分别是:tabPage1,tabPage2,tabPage3,tabPage4,tabPage5,tabPage6
我们可以想到加载界面的时候会给cbPrjType绑定元素,代码如下:
private void InitProjectTypeDic() //绑定下拉值 {string strMsg = "";CorpProjectAddClass cpas = new CorpProjectAddClass();dsDic = cpas.GetDicDataSet(out strMsg); //查询定义的字典表if (dsDic.Tables["XMBL_TbProjectTypeDic_SZ"] != null){this.cbPrjType.Items.Clear(); //清空集合元素this.cbPrjType.Items.Add(new MyItem("", "")); //为第一个option添加为空foreach (DataRow dr in dsDic.Tables["XMBL_TbProjectTypeDic_SZ"].Rows){this.cbPrjType.Items.Add(new MyItem(dr["ProjectTypeNum"].ToString(), dr["ProjectTypeName"].ToString())); }this.cbPrjType.DisplayMember = "Name"; //显示的属性(显示)this.cbPrjType.ValueMember = "ID"; //选项中实际的值(隐藏)this.cbPrjType.SelectedIndex = 0; //默认选中第一个 }}
其次给cbPrjType添加改变下拉事件SelectedIndexChanged:
private void cbPrjType_SelectedIndexChanged(object sender, EventArgs e){string cbVal=""; //记录当前选中下拉的值 if (cbPrjType.SelectedItem != null && (cbPrjType.SelectedItem as MyItem).ID != "") cbVal = (cbPrjType.SelectedItem as MyItem).Name; //获取选中下拉的值elsereturn; this.tabPage1.Parent = null; //指定tabPage1的父元素为空(可实现隐藏作用)this.tabPage2.Parent = null;this.tabPage3.Parent = null;this.tabPage4.Parent = null;this.tabPage5.Parent = null;this.tabPage6.Parent = null;JempType(cbVal); //传入选中的值,从而判断显示哪个tabPage }
根据选中元素的值来进行判断:
private void JempType(string prjType){switch (prjType){case "城市道路工程":this.tabPage1.Text = "城市道路工程"; //tabPage显示的名称this.tabPage1.Parent = tabPrjType; //给tabPage指定父元素tabPrjType.Enabled = true; break;case "城市桥梁工程":this.tabPage2.Text = "城市桥梁工程";this.tabPage2.Parent = tabPrjType;tabPrjType.Enabled = true;break;case "排水管道":this.tabPage3.Text = "排水管道";this.tabPage3.Parent = tabPrjType;tabPrjType.Enabled = true;break;case "供水管道":this.tabPage3.Text = "供水管道";this.tabPage3.Parent = tabPrjType;tabPrjType.Enabled = true;break;case "中水管道":this.tabPage3.Text = "中水管道";this.tabPage3.Parent = tabPrjType;tabPrjType.Enabled = true;break;case "燃气管道":this.tabPage3.Text = "燃气管道";this.tabPage3.Parent = tabPrjType;tabPrjType.Enabled = true;break;case "热力管道":this.tabPage3.Text = "热力管道";this.tabPage3.Parent = tabPrjType;tabPrjType.Enabled = true;break;case "污水处理厂":this.tabPage4.Text = "污水处理厂";this.tabPage4.Parent = tabPrjType;tabPrjType.Enabled = true;break;case "供水厂":this.tabPage4.Text = "供水厂";this.tabPage4.Parent = tabPrjType;tabPrjType.Enabled = true;break;case "给水泵站":this.tabPage4.Text = "给水泵站";this.tabPage4.Parent = tabPrjType;tabPrjType.Enabled = true;break;case "排水泵站":this.tabPage4.Text = "排水泵站";this.tabPage4.Parent = tabPrjType;tabPrjType.Enabled = true;break;case "垃圾处理工程":this.tabPage4.Text = "垃圾处理工程";this.tabPage4.Parent = tabPrjType;tabPrjType.Enabled = true;break;case "城市隧道工程":this.tabPage5.Text = "城市隧道工程";this.tabPage5.Parent = tabPrjType;tabPrjType.Enabled = true;break;case "公共交通工程":this.tabPage6.Text = "公共交通工程";this.tabPage6.Parent = tabPrjType;tabPrjType.Enabled = true;break;case "轨道交通工程":this.tabPage6.Text = "轨道交通工程";this.tabPage6.Parent = tabPrjType;tabPrjType.Enabled = true;break;case "环节卫生工程":this.tabPage6.Text = "环节卫生工程";this.tabPage6.Parent = tabPrjType;tabPrjType.Enabled = true;break;case "照明工程":this.tabPage6.Text = "照明工程";this.tabPage6.Parent = tabPrjType;tabPrjType.Enabled = true;break;case "绿化工程":this.tabPage6.Text = "绿化工程";this.tabPage6.Parent = tabPrjType;tabPrjType.Enabled = true;break;case "电力工程":this.tabPage6.Text = "电力工程";this.tabPage6.Parent = tabPrjType;tabPrjType.Enabled = true;break;case "通信工程":this.tabPage6.Text = "通信工程";this.tabPage6.Parent = tabPrjType;tabPrjType.Enabled = true;break;} }
如果想循环遍历TabContorl下所有的TextBox控件并赋值为空可以这么写:
foreach (TabPage page in tabControl1.TabPages){foreach (Control control in page.Controls){if (control is TextBox){((TextBox)control) = "";}if (control is ComboBox){((ComboBox)control).SelectedIndex = -1;}}}
获取选中下拉的问本值:
comboBox1.GetItemText(comboBox1.Items[comboBox1.SelectedIndex]);
实现效果如下:
C# 根据Combobox控件来动态显示TabControl下的子元素相关推荐
- Tkinter Combobox控件
欢迎大家来博主的小站传送门 Combobox控件 通过前面内容的介绍我们知道 Listbox 是一个供用户从列表项中选择相应条目的控件.但在有些情况下,比如列表的项目过多时,若使用列表控件,列出所有选 ...
- silverlight之How To:设置ComboBox控件的数据源当ComboBox用来作为DataGrid的某列的编辑控件时...
DataGrid是个可编辑的列表控件,而且可以用已有的输入控件来作为某一列的编辑控件,比如用ComboBox控件来作为某列的编辑控件供用户选择数据,这个时候就要先设置好ComboBox控件的下拉列表项 ...
- .Net平台Winform两个ComboBox控件绑定同一个数据源
今天WINFROM编程遇到这么一个问题:是有关WINFORM中两个comboBox控件绑定同一个数据源的问题,在窗体的界面上有两个comboBox,我在Form1_Load中对他们做了数据绑定(具体代 ...
- 在ComboBox控件中使用嵌入字体。
ComboBox控件的fontFamily样式学习. 示例: <?xml version="1.0" encoding="utf-8"?><! ...
- Winform ComboBox控件高亮显示
//重绘下拉表单窗口,需要在窗口设计代码中加入下面这一句 this.cmdChannelName.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawF ...
- MFC之ComboBox控件用法
本文以实例形式较为详细的讲述了MFC中ComboBox控件的用法.分享给大家供大家参考之用.具体方法如下: 一.ComboBox简介: ComboBox控件是由一个文本输入控件和一个下拉菜单组成的.用 ...
- 设置ComboBox控件的边框颜色.
ComboBox控件的borderColor样式学习. 示例: 代码: <?xml version="1.0" encoding="utf-8"?> ...
- 设置ComboBox控件的小箭头颜色.
ComboBox控件的iconColor样式. 示例: 代码: <?xml version="1.0" encoding="utf-8"?> < ...
- 设置ComboBox控件的提示内容.
ComboBox控件的prompt属性. 示例: 代码: <?xml version="1.0" encoding="utf-8"?> <!- ...
最新文章
- gensim的word2vec如何得出词向量(python)
- B1059 C语言竞赛
- html用JQuery自定义表单验证。
- ECMAScript 6入门
- Linux笔记16.磁盘管理
- 信息系统项目管理师-项目采购管理知识点
- 4位加法器的设计代码verilog_一个简单的8位处理器完整设计过程及verilog代码
- react学习(57)--map赋值
- linux监控命令执行,你可能不知道的 即时监控 Linux 使用者执行指令的三种方法...
- php打png图片水印颜色失真,ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整...
- Zookeeper 概述与安装、配置参数、数据结构、选举机制、客户端命令
- 《HTTP权威指南》读书笔记(1)-HTTP简介与消息结构
- 用matlab实现灰色预测gm11模型,用MATLAB实现灰色预测GM11模型
- 天下码农苦外包公司久矣
- 饭后小甜点leetcode——堆
- mkdir: Call From lzh/192.168.66.150 to localhost:9000 failed on connection exception:
- python 切片器_Excel数据透视表应用之三切片器
- first season twenty-third episode,Ben was born!!!,Hi Ben???
- Excel文件双击打开后无内容且不可编辑,再次双击文件正常显示
- 移动端弹出层滚动时禁止body滚动
热门文章
- 全球及中国多层PCB行业行业投资前景与发展趋势预测分析报告2022-2028
- 小米 vs 华为!最近业界各类事情不少,看看这两家的情况如何?
- Jmeter 启动时报错:Not able to find Java executable or version. Please check your Java installation.
- [深入理解SSD 为SSD编程] 访问模式和系统优化
- 害!天天在公司写业务代码,面几家挂几家,感觉自己快废了!
- 基于Arduino、树莓派的两款解魔方机器人
- 选择与循环:剪刀石头布_奔跑吧 | 月亮马戏——无限循环中的选择与坚持
- 华硕ASUS-X53S拆机升级
- Win10 引用的帐户目前已被锁定,可能无法登录
- python-按首字母分类形成列表