0
我想知道是否有方法在.NET TrackBar
的軌道內設置一個關卡指示器?跟蹤裏面的水平指示器?
我的使用場景是這樣的。我需要一個音頻靜噪控制。所以我想使用一個TrackBar
,用戶在0到100之間拖拽靜音。但同時我想在TrackBar
的軌道上顯示當前音頻電平。以便用戶知道當前音頻電平與靜噪的關係。
有什麼建議嗎?這是否是我需要重寫TrackBar
的繪製方法?或者有什麼地方可以使用自由控制?
我想知道是否有方法在.NET TrackBar
的軌道內設置一個關卡指示器?跟蹤裏面的水平指示器?
我的使用場景是這樣的。我需要一個音頻靜噪控制。所以我想使用一個TrackBar
,用戶在0到100之間拖拽靜音。但同時我想在TrackBar
的軌道上顯示當前音頻電平。以便用戶知道當前音頻電平與靜噪的關係。
有什麼建議嗎?這是否是我需要重寫TrackBar
的繪製方法?或者有什麼地方可以使用自由控制?
這並不像看起來那麼容易。人們不能簡單地擴大控制的外觀。您可以通過添加以下行來,從TrackBar
派生的類的構造函數來觸發UserPaint
:
SetStyle(ControlStyles.UserPaint, true);
然而這將,迫使你自己畫的所有。這意味着您將需要覆蓋OnPaint
和OnPaintBackground
,並使用TrackBarRenderer
中的方法繪製整個控件。
話雖如此,給你的方法非常簡單,繪製控件相對容易。
注:this Code Project article必定有很多好的指針,如果你決定追求完整的自定義繪圖。也許甚至可以作爲你的替代控制。
還有其他的。只要做一個谷歌搜索「C#TrackBar自定義繪製」。
在某些額外的浮動文本的地方?或者直接在滑塊上繪製?要麼...? – DonBoitnott
理想情況下,它應該被繪成軌跡條軌道內的彩條。 –
從'TrackBar'派生一個新的控件並重載'OnPaintBackground',然後繪製你的彩色區域。 – DonBoitnott