2.9 案例分析9 选项卡示例
2.9.1 案例描述
本节介绍常用控件ComboBox的综合使用。
2.9.2 案例分析
ComboBox控件的使用方法。
2.9.3 案例实现与技巧
① 首先,运行Visual Studio 2005,新建一个Windows应用程序,并命名为TabControl。
② 在Form1窗口类的开头部分加入引用语句,如下所示:
using System.Resources;
③ 切换到设计视图,向Form1窗体中拖曳一个PictureBox控件和一个GroupBox控件。
④ 向Picture控件中拖曳一个TabControl控件,操作完成后大致布局如图2-23所示。
图2-23 控件布局与设计(一)
⑤ 修改groupBox1控件的Text属性为“选项卡控件”。
⑥ 向groupBox1控件中拖曳三个Label控件,修改其属性如下表所示:
⑦ 向groupBox1控件中拖曳三个ComboBox控件,修改其属性如下表所示:
⑧ 完成本步后,程序的外观大致如图2-24所示。
图2-24 控件布局与设计(二)
⑨ 向groupBox1控件中拖曳三个CheckBox控件,修改其属性如下表所示:
⑩ 向groupBox1控件中拖曳一个Label控件,修改其Text属性为“选项卡控件宽度”。
⑪ 向groupBox1控件中拖曳一个TractBar控件,修改其Modifiers属性为“Protected Internal”,修改其TabStop属性为“False”,修改其TickFrequency属性为“10”,修改其Value属性为“220”。
⑫ 此时窗体视图如图2-25所示。
图2-25 控件布局与设计(三)
⑬ 在设计视图中用鼠标选定tabControl1控件,将鼠标停放在控件的一个标签上并单击鼠标右键,在弹出的菜单中选择“添加选项卡”,即可在原标签的平行位置旁自动生成新的选项卡,如图2-26所示。
图2-26 添加选项卡
⑭ 向每个选项卡中加入数量不等的可视控件,模拟应用。
⑮ 向Form1窗体类中添加成员方法用于响应用户的选择输入,代码如下所示:
protected void checkBox1_Click(object sender,EventArgs e) { this.tabControl1.Multiline = checkBox1.Checked; this.alignmentComboBox_SelectedIndexChanged(null,EventArgs.Empty); } protected void checkBox2_Click(object sender,EventArgs e) { this.tabControl1.HotTrack = checkBox2.Checked; } protected void checkBox3_Click(object sender,EventArgs e) { if (checkBox3.Checked) tabControl1.ImageList = imageList1; else tabControl1.ImageList = null; } protected void appearanceComboBox_SelectedIndexChanged(object sender,EventArgs e) { int index = appearanceComboBox.SelectedIndex; if (index == 0) { tabControl1.Appearance = TabAppearance.Normal; } else if (index == 1) { tabControl1.Appearance = TabAppearance.Buttons; } else { tabControl1.Appearance = TabAppearance.FlatButtons; } tabControl1.PerformLayout(); } protected void alignmentComboBox_SelectedIndexChanged(object sender,EventArgs e) { int index = alignmentComboBox.SelectedIndex; if (index == 0) { tabControl1.Alignment = TabAlignment.Top; } else if (index == 1) { tabControl1.Alignment = TabAlignment.Bottom; } else if (index == 2) { tabControl1.Alignment = TabAlignment.Left; } else tabControl1.Alignment = TabAlignment.Right; } protected void sizeModeComboBox_SelectedIndexChanged(object sender,EventArgs e) { int index = sizeModeComboBox.SelectedIndex; if (index == 0) { tabControl1.SizeMode = TabSizeMode.Normal; } else if (index == 1) { tabControl1.SizeMode = TabSizeMode.FillToRight; } else tabControl1.SizeMode = TabSizeMode.Fixed; } protected void trackBar_Scroll(object sender,EventArgs e) { tabControl1.Width = trackBar.Value; }
⑯ 分别为各个CheckBox控件添加代理事件,如下表所示:
⑰ 为各个ComboBox控件添加代理事件,如下表所示:
⑱ 选择Visual Studio 2005 IDE主菜单“调试”|“开始执行(不调试)”菜单项来运行应用程序。程序运行结果如图2-27所示。
图2-27 程序运行结果(一)
⑲ 通过演示可以看出,TabCoutral的外观被右边的“选项卡空间”控制,外观发生了改变,如图2-28所示。
图2-28 程序运行结果(二)
⑳ 通过滑动条可改变TabContrul控件的宽度,如图2-29所示。
图2-29 程序运行结果(三)