2012-04-07 19 views
5

私は垂直スクロールバーのみを持つTreeViewを持つ必要があります。C#WinForms TreeView水平スクロールバーを削除

私はthisを試しましたが、うまくいきません。結果のスクロールバーは何もしません。それは仕事をdoesntの、私はツリービューに十分な長さのものを追加したときにスクロールバーを再び示しています...

答えて

10

をすることができます - 私は(trueにスクロールし、そのuser32.dllの機能で水平スクロールバーを無効に)反対を試してみました

ツリービューコントロールでTVS_NOHSCROLLウィンドウスタイルをオンにしてみてください。あなたの意図は、外観を取得し、Windows Vistaおよび7のネイティブツリービューのように感じ、そしてあなたがこれを従わなければならないのであれば

public class NoHScrollTree : TreeView { 
protected override CreateParams CreateParams { 
get { 
    CreateParams cp = base.CreateParams; 
    cp.Style |= 0x8000; // TVS_NOHSCROLL 
    return cp; 
} 
} } 
+0

ありがとう!これはそれです – Istrebitel

+1

デザイナーで設定できるHorizo​​ntalScrollbarプロパティを持つ準備ができているクラスは次のとおりです:https://pastebin.com/dnbGfiqp – Codecat

1

:そのためには、あなたがこのようなカスタムツリービューの標準TreeViewコントロールを拡張する必要があります、

How to get Windows native look for the .NET TreeView?

SetWindowThemeが必要です。水平スクロールバーは表示されません。

Windows VistaおよびWindows 7で動作します。

+0

いいえ、私はちょうど私が求めていたが、価値のある情報! ;) – Istrebitel

関連する問題