这个方法运用得很精简,也很巧妙!界面就是一个ListBox,右边有“上一记录、下一记录、删除、属性”四个按纽。实现功能不用多说了,双击列表中一项时会弹出属性框,这个就没有写出来了。当选择的项为0或>=2时,属性框不能用,向上向下不可用。
以下是ListBox的双击也就是默认方法。
private void lstEquipments_SelectedIndexChanged(object sender, System.EventArgs e)
{
int numSelected = lstEquipments.SelectedIndices.Count;
bool someSelected = (numSelected > 0);
btnMoveUp.Enabled = (someSelected && !lstEquipments.GetSelected(0));
//向上移是否可用,取决于“选中的项someSelected”>0,并且选定项不是第1个
btnMoveDown.Enabled = (someSelected && (!lstEquipments.GetSelected(Equipments.Items.Count - 1)));
//向下移是否可用,取决于“选中的项someSelected”>0,并且选定项不是最后一个
btnRemove.Enabled = someSelected;
//选中的项someSelected为真的时候,才能删除
btnEquipmentsProp.Enabled = (numSelected == 1);
//只有“选中的数量为1”的时候,属性才能用
}
[此贴子已经被作者于2007-6-26 15:26:36编辑过]