我正在使用TrackBar
控件。默認情況下,它的值是int32
。我真的很想使用十進制值,因此可以使用更細粒度的級別進行選擇。我怎樣才能讓TrackBar
控件接受浮動?如何使用跟蹤欄的花車
8
A
回答
18
您可以使用乘數。比如說,你想讓你的TrackBar控制從0到5以0.01爲增量。僅僅通過1
當你去設置你的浮點值,乘以100它,並用它爲跟蹤條值設置最低爲0,最高爲500,增量。
您應該能夠以這種方式獲得任何(逼真)的精度,因爲TrackBar可以與int整合使用,並且具有Int32的完整數據範圍。這比用戶界面要求的精確得多。
+0
偉大的解決方案。很棒。 – rross 2010-01-22 18:00:35
4
另一種想法是繼承從TrackBar
並以Reed Copsey建議使用整數和乘以精度因子的方式模擬自定義類中的浮點值。
下面的作品整齊漂亮的小浮點值:
class FloatTrackBar: TrackBar
{
private float precision = 0.01f;
public float Precision
{
get { return precision; }
set
{
precision = value;
// todo: update the 5 properties below
}
}
public new float LargeChange
{ get { return base.LargeChange * precision; } set { base.LargeChange = (int) (value/precision); } }
public new float Maximum
{ get { return base.Maximum * precision; } set { base.Maximum = (int) (value/precision); } }
public new float Minimum
{ get { return base.Minimum * precision; } set { base.Minimum = (int) (value/precision); } }
public new float SmallChange
{ get { return base.SmallChange * precision; } set { base.SmallChange = (int) (value/precision); } }
public new float Value
{ get { return base.Value * precision; } set { base.Value = (int) (value/precision); } }
}
+0
一個非常好的解決方案!這就像接受的答案,但在它自己的課堂上。謝謝! – itmuckel 2016-07-22 15:09:25
相關問題
- 1. 車輛跟蹤使用Android地圖
- 2. 使用opencv跟蹤車輛軌跡
- 3. 如何從php側跟蹤車輛
- 4. 如何跟蹤回車字符串
- 5. 如何使用Maps API跟蹤多輛車
- 6. 車輛GPS跟蹤設備
- 7. 車輛分割和跟蹤
- 8. 如何實現一個跟蹤欄
- 9. 地址欄跟蹤如何工作?
- 10. rqt ros中的跟蹤欄
- 11. 如何創建一個應用程序來跟蹤我的車
- 12. 在MSCRM花費的跟蹤時間
- 13. 跟蹤大量的汽車與GPS
- 14. 如何跟蹤任何給定網站的購物車ID?
- 15. 如何使用常見的跟蹤ID?
- 16. 流程量和跟蹤欄
- 17. 如何跟蹤
- 18. 使用opencv跟蹤移動車輛的可能方法
- 19. 如何跟蹤在vs 2010中花費的調試時間?
- 20. 如何跟蹤在網站上花費的時間
- 21. 使用boost ::花:: eval_if_t汽車
- 22. 如何跟蹤laravel中購物車表的sessionID
- 23. 跟蹤使用DijkstraAlgorithm
- 24. 如何啓用adb跟蹤
- 25. 如何跟蹤webservices調用
- 26. 如何跟蹤ADO調用
- 27. 跟蹤添加到購物車在Magento
- 28. 在omnet ++中模擬車輛跟蹤
- 29. 檢測和跟蹤移動車輛
- 30. 如何使用SQL Server Profiler跟蹤
整數給出你2個十億可能的值。您需要多大的粒度才能實現這種控制? – Kibbee 2010-01-22 02:09:59
它不完全是值。這是他們如何表現。客戶希望以十進制形式表示。 – rross 2010-01-22 18:01:36