usingsystem;
using
system.collections.generic;
using
system.linq;
using
system.text;
using
system.windows.forms;
using
system.componentmodel;
using
system.drawing;
namespace
utilityclass
private
int imagewidth = 0x12 + 2; //
大小加空隙
//private bool isfirstdifferent = true;
//[defaultvalue(true), description("將第乙個節點作為全選/全不選。")]
//public bool isfirstdifferent
//
//
//set
// //}
public
treeviewex()
//規則1:取消選定
//規則1.1:檢查是否有子節點,需清除所有子節點的選定狀態;
//規則1.2:檢查是否有父節點,如有,則根據兄弟節點的選定狀態修改父節點的選定狀態
//規則2:選定
//規則2.1:檢查是否有子節點,設定所有子節點為選定狀態
//規則2.2:檢查是否有父節點,如有,則根據兄弟節點的選定狀態修改父節點的選定狀態
private
void treeviewex_nodemouseclick(object
sender, treenodemouseclickeventargs e)
else
nodeclick(e.node);
}} }
//////
節點點選
/// ///
點選的節點
public
void
nodeclick(treenode tn)
else
}//////
不管現在節點狀態
///將節點設定為選中
/// ///
待更改狀態的節點
public
void
nodeselected(treenode tn)
//////
不管現在節點狀態
///去掉節點擊中狀態
/// ///
待更改狀態的節點
public
void
nodeunselected(treenode tn)
//////
返回指定節點擊中狀態
///有三種狀態 unchecked 未選中 indeterminate 部分選中 checked 選中
/// ///
節點是否被選中
///返回選中狀態資訊
public
checkstate nodecheckstate(treenode tn)
}//////
半選與全選返回 true 否則返回 false
/// public
bool
ischecked(treenode tn)
//////
將所有子節點全不選
/// public
void
nodeunselected()
}//////
將所有子節點全選
/// public
void
nodeselected()
}//設定節點擊定狀態:
//規則.1:檢查是否有子節點,需清除所有子節點的選定狀態;
void
setnodeimg11(treenode tn)
}//設定節點擊定狀態:
//規則.2:檢查是否有父節點,如有,則根據兄弟節點的選定狀態修改父節點的選定狀態
void
setnodeimg12(treenode tn)
if (select
)
else
if(unselect)
else
setnodeimg12(tn.parent);
}//設定節點擊定狀態:
//規則.1:檢查是否有子節點,設定所有子節點為選定狀態
void
setnodeimg21(treenode tn)}}
//設定節點擊定狀態:
//規則.2:檢查是否有父節點,如有,則根據兄弟節點的選定狀態修改父節點的選定狀態
void
setnodeimg22(treenode tn)
if (select
)
else
if(unselect)
else
setnodeimg22(tn.parent);
}private
void
initializecomponent()}}
TreeView控制項擴充套件
這是我做第乙個專案遇到的問題 關於許可權分配的問題。當時客戶的要求是這樣 許可權分為父許可權和子許可權,子許可權率屬於父許可權。比如員工的基本資訊管理 父許可權 包括增 刪 改以及查詢 子許可權 當擁有父權限時則說明至少擁有乙個子許可權。我當時第一想法就是用 treeview 控制項來實現,應該還是...
treeview 保持選中狀態
發現當treeview控制項失去焦點的時候,會丟失選中狀態的指示 條目的藍色背景 如果想要保持,只要設定treeview的乙個屬性即可 this.treeview1.hideselection false 但是,發現陰影很淺,但是聊勝於無。在上找到了 大氣象學習園地 的一篇博文 鏈結 剛好說到這個事...
擴充套件有限狀態機
乙個擴充套件有限狀態機m是乙個五元組 t 其中 ls是狀態的有限集合 ls0 s是初始狀態 l 是有限的字元表 lx x1,x2,xk 是乙個向量,表示乙個變數的有限集合 lt 對於t中任意乙個元素t,t 其中s是變遷的起始狀態,i是輸入,p是變遷的條件 它是由x中的變數或者常數參與的邏輯表示式 a...