2012-02-09 42 views
0

我有一個treeview,trvActors。TreeView節點forecolor在特定時間調用時不會改變?

當我嘗試通過單擊來更改treenode的前景時,它似乎不起作用,但周圍的代碼有效。

  ((Actor)_rightClickedNode.Tag).IsDefault = true; 
      _rightClickedNode.ForeColor = Color.Red; 

奇怪的是,isDefault值會改變,但節點不會改變顏色。這發生在tooltripmenuitem點擊上,但同樣的事情也發生在簡單的點擊右鍵上。

這裏是在私人無效trvActors_MouseClick事件右鍵單擊代碼:

trvActors.SelectedNode = trvActors.GetNodeAt(e.X, e.Y); 

     if (trvActors.SelectedNode != null) 
     { 
      if (e.Button == MouseButtons.Right) 
      { 
       _rightClickedNode = trvActors.SelectedNode; 

       ((Actor)_rightClickedNode.Tag).IsDefault = true; 
       _rightClickedNode.ForeColor = Color.Red; 

      } 
     } 

相同的結果。我似乎能夠改變前景色的唯一時間是當我最初創建節點時。有任何想法嗎?

回答

1

你有什麼FullRowSelect設置.. ..如果它是真的使它也是假的也許你應該把你的代碼在NodeMouseClickBeforeSelect事件?

希望這可以幫助你,

+0

它最終成爲FullRowSelect:False並使用TreeView1_MouseUp事件。 謝謝soooooo讓我走上正軌。 – bulltorious 2012-02-09 18:41:12

+0

不是問題我很高興能夠快速爲您提供解決方案..快樂編碼.. – MethodMan 2012-02-09 18:53:47

相關問題