- 中文名
- 复选框
- 外文名
- CheckBox
控件
复选框,也叫做 CheckBox,是一种基础控件。.NET 程序包含这个控件,它可以通过其属性和方法完成复选的操作。为了完成更多复杂的需求,也出现了第三方控件的复选框,将其 dll 添加到项目引用中,就可以使用更多功能的复选框控件。
Java 的复选框
可以使用构建器正常地创建一个复选框,使用它的标签来充当它的自变量。如果在创建复选框后想读出或改变它,通过代码能够获取和设置它的状态,同样也能获取和设置它的标签。注意,复选框的大写是与其它的控制相矛盾的。
无论何时一个复选框都可以设置和清除一个事件指令,也都可以捕捉同样的方法做一个按钮。在下面的例子里使用一个文字区域枚举所有被选中的复选框:
//: CheckBox1.javafdf
// Using check boxes
import java.awt.*;
import java.applet.*;
public class CheckBox1 extends Applet {
TextArea t = new TextArea(6, 20);
Checkbox cb1 = new Checkbox("Check Box 1");
Checkbox cb2 = new Checkbox("Check Box 2");
Checkbox cb3 = new Checkbox("Check Box 3");
}
public void init() {
add(t); add(cb1); add(cb2); add(cb3);
}
public boolean action (Event evt, Object arg) {
if (evt.target.equals(cb1)) {
trace("1", cb1.getState());
} else if (evt.target.equals(cb2)) {
trace("2", cb2.getState());
} else if (evt.target.equals(cb3)) {
trace("3", cb3.getState());
} else {
return super.action(evt, arg);
}
return true;
}
void trace(String b, boolean state) {
if (state) {
t.appendText("Box " + b + " Set\n");
} else {
t.appendText("Box " + b + " Cleared\n");
}
}
Word
点击 Word“视图”菜单,在“工具栏”项中点“控件工具箱”(在 office2010 中,选择“文件”→“选项”→“自定义功能区”→勾选右侧 “开发工具 ”→确定,之后顶上的标签菜单会出现一个 开发工具),会在 Word 窗口的编辑区左侧出现一个新的工具条,这就是“控件工具箱”,其中有一个按钮是内部有小对勾的方框,用鼠标指向时会出现“复选框”的提示。
点“复选框”按钮,会在 Word 页面上出现一个叫标有“CheckBox1”的小方框,即“第 1 复选框”,前面的小方框就是复选框,底纹是灰色,点“控件工具箱”的第一个按钮“退出设计模式”就可以在内部打对勾的,也可以取消对勾。再点“复选框”按钮,会在页面上再出现一个“复选框”标签,叫“CheckBox2”,即“第 2 复选框”。往下依次类推。
在这些标签上仅仅显示“CheckBox1”和“CheckBox2”肯定是不能满足要求的,要修改这些标签内容。底纹要变为白色,要和文字融为一体。
按下“控件工具箱”第一个按钮,使它处于“设计模式”,点中一个“复选框”,四周会出现八个小圆圈,处于选中状态,点“控件工具箱”第二个按钮,在左侧出现一个“属性”对话框,点“BackColor”项,这是设置背景颜色的,右边的单元格中出现个下拉三角,点击,选中合适的颜色。点“Caption”项,当单元格为蓝色时,右侧的单元格就可以编辑了,输入需要的文字,Word 的正文中立即就变成了输入的文字。点“控件工具箱”的第一个按钮“退出设计模式”,可以预览效果。
Excel
窗体工具条控件介绍
“复选框”控件。可选中一个或同时选中多个复选框,以打开或者关闭某选项。其值确定复选框的状态,即该复选框是处于未选择、已选择或混合状态;单元格链接即是返回复选框状态值的单元格,若选中复选框,则与其相链接的单元格值为 True;若未选择复选框,则与其相链接的单元格值为 False;若复选框处于混合状态,则与其相链接的单元格值为 #N/A;若与其相链接的单元格为空,则 Excel 认为复选框状态为 False。选中 3D 阴影将以三维阴影效果显示复选框。
实现复选框的全选和反选
解决思路:
全选的实现:遍历所有复选框,然后设置各多选项的 checked 属性为 true。反选的实现:遍历所有复选框,获取复选框的 checked 属性值,是 true 的话则设置为 false,否则设为 true,即作当前值的相反设置。
具体步骤:
代码示例:
<script>
function selectit(){
//设置变量form的值为name等于select的表单
var form=document.select
//取得触发事件的按钮的name属性值
var action=event.
for (var i=0;i<form.elements.length;i++){//遍历表单项
//将当前表单项form.elements对象简写为e
var e = form.elements
//如果当前表单项的name属性值为iTo,
//执行下一行代码。限定脚本处理的表单项范围。
if (e.name == "iTo")
/*如果单击事件发生在name为selectall的按钮上,就将当前表单项的checked属性设为true(即选中),否则设置为当前设置的相反值(反选)*/
e.checked =(action=="selectall")?(form.selectall.checked):(!e.checked)
}
}
</script>
<form name="select">
<INPUT type="checkbox" name="selectall" onclick="selectit()">全选
<INPUT type="checkbox" name="Inverse" onclick="selectit()">反选
<INPUT type="checkbox" name="iTo" value="1">1
<INPUT type="checkbox" name="iTo" value="2">2
<INPUT type="checkbox" name="iTo" value="3">3
<INPUT type="checkbox" name="iTo" value="4">4
<INPUT type="checkbox" name="iTo" value="5">5
</form>
注意:本例中能被全选或反选的复选框必须设置 name 为 iTo。
特别提示
代码运行后,选中“全选”复选框,所有 name 为 iTo 的复选框将被选中。
特别说明
本例需要掌握的内容是对表单项的遍历和复选框的选中或不选中状态的设置或获取。
checked 设置或获取复选框或单选钮的状态,true 为选中,false 为不选中。
elements 获取以源顺序排列的指定表单中所有控件的集合(不包括图像类型的控件对象)。
复选框全选、全不选和反选效果
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>网页特效代码--复选框全选、全不选和反选的效果实现</title>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function checkAll() {
for (var j = 1; j <= 9; j++) {
box = eval("document.checkboxform.C" + j);
if (box.checked ==false) box.checked =true;
}
}
function uncheckAll() {
for (var j = 1; j <= 9; j++) {
box = eval("document.checkboxform.C" + j);
if (box.checked ==true) box.checked =false;
}
}
function switchAll() {
for (var j = 1; j <= 9; j++) {
box = eval("document.checkboxform.C" + j);
box.checked = !box.checked;
}
}
// End -->
</script>
</head>
<body>
<form name=checkboxform>
<input type=checkbox name=C1 checked>C1<br>
<input type=checkbox name=C2 checked>C2<br>
<input type=checkbox name=C3 checked>C3<br>
<input type=checkbox name=C4 checked>C4<br>
<input type=checkbox name=C5 checked>C5<br>
<input type=checkbox name=C6 checked>C6<br>
<input type=checkbox name=C7 checked>C7<br>
<input type=checkbox name=C8 checked>C8<br>
<input type=checkbox name=C9 checked>C9<br>
<br>
<input type=button value="全部选中" onClick="checkAll()"><br>
<input type=button value="全部不选" onClick="uncheckAll()"><br>
<input type=button value="选择转换" onClick="switchAll()"><br>
</form>
</body>
</html>