标题：复选框
基本信息
释义复选框：可同时选中多项。　控件复选框，也叫做CheckBox，是一种基础控件。.NET的工具箱里包含这个控件，它可以通过其属性和方法完成复选的操作。为了完成更多复杂的需求，也出了第三方控件的复选框。只需要将其dll添加到工具箱里，就可以使用更多功能的复选框控件。
  java的复选框复选框提供一个制造单一选择开关的方法；它包括一个小框和一个标签。典型的复选框有一个小的“X”（或者它设置的其它类型）或是空的，这依靠项目是否被选择来决定的。
我们会使用构建器正常地创建一个复选框，使用它的标签来充当它的自变量。如果我们在创建复选框后想读出或改变它，我们能够获取和设置它的状态，同样也能获取和设置它的标签。注意，复选框的大写是与其它的控制相矛盾的。
无论何时一个复选框都可以设置和清除一个事件指令，我们可以捕捉同样的方法做一个按钮。在下面的例子里使用一个文字区域枚举所有被选中的复选框：
//: CheckBox1.java
// 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");
}
} ///:~
trace()方法将选中的复选框名和当前状态用appendText()发送到文字区域中去，所以我们看到一个累积的被选中的复选框和它们的状态的列表。　
建立
在word中建立复选框点Word“视图”菜单，在“工具栏”项中点“控件工具箱”，会在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.srcElement.name
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。
技巧：在本例中其实不用遍历表单的每个元素，只需要遍历getElementsByName("iTo")集合就行了。
特别提示
代码运行后，选中”全选”复选框，所有name为iTo的复选框将被选中，效果如图1.4.12所示。
图1.4.12 全选复选框
特别说明
本例需要掌握的内容是对表单项的遍历和复选框的选中或不选中状态的设置或获取。
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>