0

基本的に、TreeViewの領域をクリックして、その領域を強調表示する方法を見つけようとしています。それらの問題は、別のノードが選択された後、常にその領域のハイライトが解除されるようです。私はおもちゃにされて何度も何度も検索されます..そしてまあ..最後に私はb/cにそれを正しく動作させることができないと尋ねています。私は自分のコードを表示しますが、それは統合されたコードの厄介な混乱ではありません。誰かが良い実例を持っていますか?

基本だけを明確にするために:

Private Sub TreeView1_AfterSelect(ByVal sender As Object, _
                                  ByVal e As TreeViewEventArgs) _
                                  Handles TreeView1.AfterSelect           
  'e.Node.BackColor = Color.Yellow 
End Sub

コレクションをループすることで、設定と選択解除にさまざまな方法を使用しようとしました。それは決してうまくいかないようです!

4

2 に答える 2

1

Try changing the DrawMode for the TreeView control to OwnerDrawText and use this drawing code:

Private Sub TreeView1_DrawNode(ByVal sender As Object, _
                               ByVal e As DrawTreeNodeEventArgs) _
                               Handles TreeView1.DrawNode
  If (e.State And TreeNodeStates.Selected) <> 0 Then
    e.Graphics.FillRectangle(Brushes.Yellow, e.Bounds)
    TextRenderer.DrawText(e.Graphics, e.Node.Text, e.Node.NodeFont, e.Bounds, _
                          Color.Black, Color.Empty, _
                          TextFormatFlags.VerticalCenter)
  Else
    e.Graphics.FillRectangle(SystemBrushes.Window, e.Bounds)
    TextRenderer.DrawText(e.Graphics, e.Node.Text, e.Node.NodeFont, e.Bounds, _
                          SystemColors.WindowText, Color.Empty, _
                          TextFormatFlags.VerticalCenter)
  End If
End Sub
于 2012-10-09T14:00:27.820 に答える
0

ステップ 1 - フォームに 1 つのテキストボックス、1 つのラベル、および 3 つの水平スクロールバーを配置します ステップ 2 - 次のステップは、各コントロールのプロパティを設定することです。

  1. label1-キャプション-背景
  2. text1-text-(空欄のまま)
  3. hscroll1-max-255
  4. hscroll2-max-255
  5. hscroll3-max-255

(上記はコントロール、プロパティ、および設定です) ステップ 3-これは最後のステップです。つまり、コードを記述します。非常に簡単です。

Private Sub HScroll1_Change()(note:end of line1)
  Text1.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value)(note:end of line2)
End Sub


Private Sub HScroll2_Change()(note:end of line1)
  Text1.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value)(note:end of line2)
End Sub

Private Sub HScroll3_Change()(note:end of line1)
  Text1.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value)(note:end of line2)
End Sub
于 2013-02-03T09:00:24.047 に答える