c 如何儲存樹的展開狀態

2021-08-30 18:58:26 字數 1367 閱讀 8894

前提:每個node有唯一標識的東東,我的示例中展現的是資料夾,每個tooltip是檔案/資料夾的路徑。不同的唯一標識的話,把關於tooltip的相關方面更改即可

private list_listvisiblenodes = new list();

private string_lastselectednodepath = string.empty;

///

/// 儲存當前樹的展現

///

private void gettreenodesstatus(treenodecollection nodes)

foreach (treenode node in nodes)

if (node.i***panded && (!this._listvisiblenodes.contains(node.tooltiptext)))

this._listvisiblenodes.add(node.tooltiptext);

else if((!node.i***panded)&&this._listvisiblenodes.contains(node.tooltiptext))

this._listvisiblenodes.remove(node.tooltiptext);

if (node.isselected)

this._lastselectednodepath = node.fullpath;

gettreenodesstatus(node.nodes);

///

/// 恢復原來的狀態

///

private void settreenodesstatus(treenodecollection nodes)

foreach (treenode node in nodes)

if (this._listvisiblenodes.contains(node.tooltiptext)&&!node.i***panded)

node.expand();

if (node.tooltiptext == this._lastselectednodepath)

this.tvproject.selectednode = node;

settreenodesstatus(node.nodes);

///

/// 重新整理樹,呼叫

///

public void refreshtree()

gettreenodesstatus(this.tvproject.nodes);

this.tvproject.nodes.clear();//清除之前的內容

//新增節點

settreenodesstatus(this.tvproject.nodes);

cookie 儲存導航選單的展開狀態

選單展開狀態儲存,最開始是用session來存的,用session存沒點選一次選單就會多次訪問後台頁面,影響頁面載入速度,後來改用js的cookie來存 如下 獲取cookie function getcookie name else 設定cookie function setcookie name...

關於下拉列表為展開狀態的控制

在csdn發表第一篇部落格,想談談最近遇到的問題!最近一直搞公司版塊,但是,程式那邊的乙個師兄,突然叫我試著搞一些tooltip和div模仿下拉列表之類的小工具。於是,我就開始忙了起來,雖然,這些都不是什麼難題,不過,要做,還是要做個好的,而且簡單的。於是我上網搜尋了一下,先說說下拉列表的問題吧,這...

如何去檢測網路的連線狀態 C

1.方法定義 dllimport wininet.dll private extern static bool internetgetconnectedstate out int connectiondescription,int reservedvalue 2.方法說明 引數 connection...