第8章 窗体控件1.docx
- 文档编号:9919285
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:16
- 大小:143.57KB
第8章 窗体控件1.docx
《第8章 窗体控件1.docx》由会员分享,可在线阅读,更多相关《第8章 窗体控件1.docx(16页珍藏版)》请在冰豆网上搜索。
第8章窗体控件1
控件:
●单选按钮
●多选按钮
●列表框
●组合框
●滚动条
●图片框
●记时器
目的:
1.了解单选按钮和复选框两种控件的主要属性、方法和事件
2.进一步理解事件驱动机制
3.掌握单选按钮和复选框控件的基本使用
4.了解列表框和组合框控件的功能
5.了解列表框和组合框控件的主要属性、方法和事件
6.掌握列表框和组合框控件的的基本操作
7.了解滚动条、图片框、Timer等几种控件的主要功能
8.了解滚动条、图片框、Timer控件的常用属性、方法和事件
9.几种控件在实际编程中的使用
相关内容:
一、单选按钮(RadioButton)
●是从多个可选项中选择一项的操作。
●常用属性
⏹Checked----指示单选按钮是否被选中,true为被选中,false为未被选中
⏹Text----按钮右侧显示的文本
⏹FlatStyle----确定控件实例的外观
◆Flat:
控件以平面显示
◆Popup:
控件以平面显示,直到鼠标接触到控件为止,变成三维状
◆Standard:
标准外观,为三维
◆System:
控件的外观由操作系统决定
●常用事件
⏹Click----单击单选按钮时发生
●任务1:
创建一个Windows应用程序,在窗体上出一道单项选择题,用单选按钮提供选项,用户选择后,在下方显示用户的答案,单击“判断”按钮后,计算机给出正确与否的判断。
⏹比较上课时作业的完成情况,选择代码量较少的完成方法。
代码:
为每个按钮添加单击事件
privatevoidrdoA_Click(objectsender,EventArgse)
{
lblAnswer.Text=rdoA.Text;
}
privatevoidrdoB_Click(objectsender,EventArgse)
{
lblAnswer.Text=rdoB.Text;
}
privatevoidrdoC_Click(objectsender,EventArgse)
{
lblAnswer.Text=rdoC.Text;
}
privatevoidrdoD_Click(objectsender,EventArgse)
{
lblAnswer.Text=rdoD.Text;
}
privatevoidbtn_1_Click(objectsender,EventArgse)
{
if(rdoB.Checked==true)
MessageBox.Show("恭喜你,答对了!
");
else
MessageBox.Show("很遗憾,答错了!
");
}
privatevoidbtn_2_Click(objectsender,EventArgse)
{
rdoA.Checked=false;
rdoB.Checked=false;
rdoC.Checked=false;
rdoD.Checked=false;
lblAnswer.Text="";
}
privatevoidForm1_Load(objectsender,EventArgse)
{
lblAnswer.Text="";
}
●Windows窗体事件及事件处理程序
⏹事件是可以通过代码响应或“处理”的操作。
⏹事件处理程序是绑定到事件的方法。
当引发事件时,执行事件处理程序内的代码
⏹事件处理的两大参数:
sender(objectsender发出事件的对象)和e(System.EventArgse对象中的数据)
⏹在以前的例题中,事件处理程序不需要使用由事件源对象和事件数据对象提供的信息,但在很多情况下,事件处理程序需要使用由事件源对象和事件数据对象提供的信息,此时将用到sender参数和e参数。
(如果是按钮button的话,那sender就是那个button,e是事件参数,在某些事件里,e用处不大,比如在MouseEventArgs的Mouse事件中,可以看到e包括mouse的坐标值等,以供你的程序使用。
)
●任务2:
改进上述程序,采用事件处理程序绑定的方法,使代码量进一步减少。
⏹定义RadioButton类型的单选按钮对象rdo
⏹为第一个单选按钮添加Click事件代码,如下:
⏹为其他三个单选按钮绑定rdoOption_Click事件处理程序
privateRadioButtonRd;
privatevoidRdOption_Click(objectsender,EventArgse)
{
Rd=(RadioButton)sender;
lblAnswer.Text=Rd.Text;
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
if(radioButton2.Checked==true)
MessageBox.Show("恭喜您,答对了!
");
else
MessageBox.Show("很遗憾,您答错了!
");
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
radioButton1.Checked=false;
radioButton2.Checked=false;
radioButton3.Checked=false;
radioButton4.Checked=false;
lblAnswer.Text="";
}
二、复选框(CheckBox)
●常用属性
⏹Checked---指示复选按钮是否被选中
⏹Text----按钮右侧显示的文本
⏹CheckState----指示复选框的复选状态
●常用事件
◆Click---在单击单选按钮控件时发生
◆CheckChanged----每次选中或取消选中单选按钮的时候发生
●任务1:
创建一个Windows应用程序,在窗体上出一道多项选择题,用复选框提供选项,计算机给出判断。
(使用事件绑定程序实现)
三、列表框(ListBox)
●用于显示项目列表,用户可从中选择一个或多个项目,并添加、删除一项或多项,达到与用户对话的目的。
●常用属性
⏹Text------列表框中选中项的文本,只能在程序中使用。
⏹Items-----列表框中项的集合
⏹SelectedIndex-----返回对应于列表框中第一个选定项的整数值
⏹SelectedItem------返回列表框中选中的项目本身
⏹SelectedItems------返回列表框中所有选中项目的集合
⏹SelectedMode------确定用户一次可以选择列表框中的多少项以及用户可如何进行多重选择
●常用方法
⏹ListBox.Items.Add()----为列表框中添加新项目
⏹ListBox.Items.Insert()----在列表框的指定位置添加新项目
⏹ListBox.Items.RemoveAt()----从列表框项目集合中移除指定的项目
●常用事件
⏹SelectedIndexChanged事件----当列表框中的选项发生变化时发生
●任务1:
编程实现程序的功能:
用户选中列表框中选项时,在右边的标签中显示。
效果:
代码:
privatevoidlistBox2_SelectedIndexChanged(objectsender,EventArgse)
{
label4.Text=listBox2.Text;
}
●任务2:
编写程序,完成对列表框的添加、与访问等操作。
代码:
privatevoidbtnAdd_Click(objectsender,EventArgse)
{
lstBox1.Items.Add(txtInfo.Text);
txtInfo.Text="";
txtInfo.Focus();
}
privatevoidbtnLast_Click(objectsender,EventArgse)
{
if(lstBox1.SelectedIndex==0)
MessageBox.Show("已经是第一条了!
");
else
lstBox1.SelectedIndex-=1;
}
privatevoidbtnNext_Click(objectsender,EventArgse)
{
if(lstBox1.SelectedIndex==lstBox1.Items.Count-1)
MessageBox.Show("已经是最后一条了!
");
else
lstBox1.SelectedIndex+=1;
}
四、组合框(ComboBox)
●组合了文本框和列表框的特性而形成的一种控件,在列表框中列出可供用户选择的选项,当用户选定某项后,该项内容自动装入文本框中。
它的优点在于可以节约窗体空间。
●常用属性,除了与列表框类似的属性外,还有:
⏹DropDownStyle------设置组合框的外观和功能
◆Simple-----简单组合框,文本部分可编辑,列表部分总可见
◆DropDown----下拉组合框,文本部分可编辑,用户须单击箭头来显示列表
◆DropDownList------用户不能编辑文本部分,须单击箭头来显示列表
●常用方法:
与列表框类似
●常用事件
⏹SelectedIndexChanged事件----当组合框中的选项发生变化时发生
●任务1:
编写程序,用户选择列表框选项后,在文本框中显示航班的信息。
代码:
privatevoidcomboBox1_SelectedIndexChanged(objectsender,EventArgse)
{
switch(comboBox1.Text)
{
case"北京":
textBox1.Text="6:
00AM";break;
case"上海":
textBox1.Text="9:
10AM";break;
case"成都":
textBox1.Text="13:
50PM";break;
case"重庆":
textBox1.Text="16:
35PM";break;
}
}
五、滚动条(ScrollBar)
●分为垂直滚动条(VScrollBar)和水平滚动条(HScrollBar),常常用来附在某个窗口上帮助观察数据或确定位置,也可以用来作为数据输入的工具。
在日常操作中,我们常常遇到这样的情况:
在某些程序中,如photoshop,一些具体的数值我们并不清楚,如调色板上的自定义色彩,这时,可以通过滚动条,用尝试的办法找到自己需要的具体数值。
●常用属性,除了与列表框类似的属性外,还有:
⏹Value-----表示当滑块处于当前位置时代表的值
⏹Maximum-----最大值,当滑块处于最大位置时代表的值,默认为100
⏹Minimum-----最小值,当滑块处于最小位置时代表的值,默认为0
⏹SmallChange----最小变动值(单击滚动条按钮或按下箭头键时)
⏹LargeChange----最大变动值(单击滚动条按钮或按下箭头键时)
●常用事件
⏹Scroll事件----当用鼠标按下键盘使滑块进行移动时触发
●任务1:
创建如下界面的窗体,三个滚动条分别控制颜色R(红)G(绿)B(蓝)的值,并在标签中显示。
代码:
privatevoidhScrollBar1_Scroll(objectsender,ScrollEventArgse)
{
lblR.Text=hScrollBar1.Value.ToString();
}
privatevoidhScrollBar2_Scroll(objectsender,ScrollEventArgse)
{
lblG.Text=hScrollBar2.Value.ToString();
}
privatevoidhScrollBar3_Scroll(objectsender,ScrollEventArgse)
{
lblB.Text=hScrollBar3.Value.ToString();
}
privatevoidForm1_Load(objectsender,EventArgse)
{
lblR.Text=hScrollBar1.Value.ToString();
lblG.Text=hScrollBar2.Value.ToString();
lblB.Text=hScrollBar3.Value.ToString();
}
四、图片框(PictureBox)
●主要用来显示图形或图片,包括位图(bmp)、图标(ico)、Gif等格式的图形文件。
●常用属性
⏹Image----用来设置显示在按钮控件上的图像
⏹SizeMode----用于控制调整控件或图片的大小及放置位置
◆Normal:
将图片置与图片框的左上角,多出部分被截取
◆StretchImage:
图像被拉伸或收缩以适应图片框的大小
◆AutoSize:
调整图片框的大小,使其等于图片的原始尺寸
◆CenterImage:
将图片居中显示,多出部分被截取
◆Zoom:
控件中的图片按照比例拉伸或收缩,以适合控件的大小,占满控件的长度或高度
◆
●任务1:
图片查看器
代码:
privatevoidbutton1_Click(objectsender,EventArgse)
{
pictureBox1.Width=80;
pictureBox1.Height=80;
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
pictureBox1.Width+=5;
pictureBox1.Height+=5;
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
pictureBox1.Width-=5;
pictureBox1.Height-=5;
}
●图片框的使用
通过Image类的FromFile方法为图片框加载图像。
方法原形:
ImageImage.FromFile(stringfilename),此方法的返回值为创建的Image对象。
Filename为要创建的Image对象的文件名称,可用绝对或相对路径表示。
●任务2:
图片浏览器
代码:
privatevoidradioButton1_Click(objectsender,EventArgse)
{
pictureBox1.Image=Image.FromFile("images/ku.gif");
}
privatevoidradioButton2_Click(objectsender,EventArgse)
{
pictureBox1.Image=Image.FromFile("images/tiao.gif");
}
privatevoidradioButton3_Click(objectsender,EventArgse)
{
pictureBox1.Image=Image.FromFile("images/shangxin.gif");
}
五、Timer组件
Timer实际上是一个组件,而不是一个控件。
控件是指当其[Visible]属性为true时,运行程序能在窗体上看到的组件,也就是说,控件是一种特殊的组件。
控件肯定是组件,但组件不一定是控件。
Timer组件主要用于检查是否到达事先规定的时间间隔,并在到达该时间间隔触发的事件中执行需要的功能。
●常用属性
◆Enabled----是否启用计时,false表示停止计时,true表示开始计时。
◆Interval----触发Tick事件的间隔时间,以ms为单位,默认为100ms。
●常用事件
◆Tick事件:
每隔Interval属性指定的时间都会触发。
●任务1:
设计一个简单的时钟显示窗体
代码:
privatevoidbutton1_Click(objectsender,EventArgse)
{
//每次按下button1按钮,使timer1的启用状态发生变化,并相应地改变buttonOK上的文本
timer1.Enabled=!
timer1.Enabled;
button1.Text=timer1.Enabled?
"停止":
"开始";
}
//添加timer1的Tick事件
privatevoidtimer1_Tick(objectsender,EventArgse)
{
label1.Text=DateTime.Now.ToLongTimeString();
}
●任务2:
移动的标签
privateintdirection=5;
privatevoidForm1_Load(objectsender,EventArgse)
{
cbInterval.SelectedIndex=0;
}
privatevoidbtnMove_Click(objectsender,EventArgse)
{
timer1.Enabled=true;
}
privatevoidtimer1_Tick(objectsender,EventArgse)
{
if(lblLogo.Left<=0||lblLogo.Right>=this.Width)
direction=-direction;
lblLogo.Left-=direction;
}
privatevoidcbInterval_SelectedIndexChanged(objectsender,EventArgse)
{
timer1.Interval=int.Parse(cbInterval.Text);
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
timer1.Enabled=false;
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第8章 窗体控件1 窗体 控件