问题1:
Treeview.CheckBox怎么把他设置问只读啊???? 
Treeview.CheckBoxes怎么把他设置问只读啊???? 
我还要节点可以展开收回  
只要CheckBox状态不能改变
问题2:
改变状态时是子节点的话,要把父节点也改变
TreeModFunc_AfterCheck(事件我只想他响应一次 private void SetChildOrParentNodeChecked(TreeNode parentNode,string setChildOrParent)
{
//假如有子节点

if(setChildOrParent=="Func")
{
if(parentNode.Checked==true)
{
SetChildOrParentNodeChecked(parentNode.Parent,"Mod");
}
if(parentNode.Nodes.Count>0)
{
foreach(TreeNode childNode in parentNode.Nodes)
{
childNode.Checked=parentNode.Checked;
// SetChildOrParentNodeChecked(childNode,"Func");
}
}
}
//假如该节点为没有子节点
else if(setChildOrParent=="Mod")
{
//当给子节点授权时,父节点也应该具有权限
if(parentNode!=null)
{
parentNode.Checked=true;
// SetChildOrParentNodeChecked(parentNode.Parent,"Mod");
}
}
}
#endregion //当选中或取消Checked时
private void TreeModFunc_AfterCheck(object sender, System.Windows.Forms.TreeViewEventArgs e)
{
string[] nodeInfos=(string[])e.Node.Tag;
// SetChildOrParentNodeChecked(e.Node,"Func");
}