那麼,你已經定義和有線一個TreeView.NodeMouseClick事件處理方法?如果你有一個方法,你可以把它在你的foreach循環這樣:
foreach (TreeNode node in treeView1.Nodes)
{
treeView1_NodeMouseClick(node, null);
}
這一說法上面,在我的構造函數,例如,我有這樣的代碼
treeView1.NodeMouseClick += new TreeNodeMouseClickEventHandler(treeView1_NodeMouseClick);
而且我有一個馬虎事件處理程序,如:
public void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
TreeNode node = sender as TreeNode;
if (node != null)
MessageBox.Show(node.Text);
}
它應該是安全的在null
只要發送了TreeNodeMouseClickEventArgs
只要你不打算實際利用事件參數。
EDITS在答覆問題編輯:
看起來你應該只是簡單地通過直接調用調用你AfterSelect(...)方法,當用戶按下全部展開按鈕。因此,如果我正確地猜測了您的體系結構,您想要在您的點擊處理程序中添加對AfterSelect的呼叫全部展開按鈕
我想我有一個答案給你,但首先,我需要問你爲什麼需要這樣做?你是否需要以編程方式觸發事件觸發,以便事件處理程序中的代碼能夠運行? – David 2009-10-30 15:23:49
我編輯了我的答案,以便在選擇樹中的每個節點後觸發它。 – 2009-10-30 15:37:07