我是c#的初學者。在我的項目中,我在TreeView控件中填充了一個xml文件。如果xml文件很大,則TreeView
控件將顯示帶滾動條的數據。旁此,每當用戶雙擊一個節點我顯示所選擇的節點像這樣旁的面板..將面板附加到TreeView控件
當我滾動TreeView控件:
我的問題是如何使panel
附加到treeView
控制,以便儘管用戶滾動TreeView
控制面板也應該與選定的節點一起移動。
我是c#的初學者。在我的項目中,我在TreeView控件中填充了一個xml文件。如果xml文件很大,則TreeView
控件將顯示帶滾動條的數據。旁此,每當用戶雙擊一個節點我顯示所選擇的節點像這樣旁的面板..將面板附加到TreeView控件
當我滾動TreeView控件:
我的問題是如何使panel
附加到treeView
控制,以便儘管用戶滾動TreeView
控制面板也應該與選定的節點一起移動。
嗯,很難做,因爲TreeView沒有滾動事件。無論如何,這是不可靠的,因爲節點可以展開和摺疊,改變節點的位置和可視性。備份計劃是使用定時器。這工作得很好:
private void timer1_Tick(object sender, EventArgs e) {
var node = treeView1.SelectedNode;
if (node == null || !node.IsVisible) panel1.Visible = false;
else {
panel1.Visible = true;
var nodepos = treeView1.PointToScreen(node.Bounds.Location);
var panelpos = panel1.Parent.PointToClient(nodepos);
panel1.Top = panelpos.Y;
}
}
真的很不錯的技巧..我沒有想到這個:)。讓我試試.. –
我即將發佈此鏈接,http://sourceforge.net/projects/treeviewadv/。但是,這應該完成工作而沒有任何複雜性。 –
不幸的是它不工作。我粘貼你的代碼,因爲它應該我做任何改變? (不是控制名稱,我還添加了定時器控制) –
這是一個html應用程序或winforms應用程序? – Heather
WinForms..sorry我總是忘記保存標籤 –
如何在選定節點前面顯示該面板? – yogi