[英]How to scale grid values after zooming in MSChart in C++. Net or C#
[英]C# MSChart: Zooming on an interval
我有一個MSChart對象,它可以繪制折線圖。 Y軸表示凈值,X軸表示DateTime。 使用組合框,用戶可以更改X軸的間隔。 例如,選擇“一天”的值將強制X軸每天顯示一個條形:
http://i.imgur.com/pY1c2Mw.png
但是,這還不夠。 除此之外,每當用戶更改X軸的時間刻度時,我希望圖表從圖表中包含的第一個點放大到找到的X軸的第一個間隔標記。 簡單來說,我想這樣做:
http://i.imgur.com/MwTZO9c.png
自動地。 但是,我被困住了,因為我不知道如何在X軸上找到第一個間隔標記的“位置”。 我知道我想從第一個數據點放大到間隔標記,但是當我不知道它有多大時該怎么做? 請記住,用戶可以自己更改時間刻度,因此我不能為此使用硬編碼的值。
非常感謝您能提供的任何幫助,因為到目前為止我還無法找到任何結論。
編輯:這是我到目前為止發現的。 更准確地說,我要尋找的是X軸主網格的FIRST網格線的位置。 但是,當繪制兩個軸的主網格時,它們沒有被賦予真實位置,或者至少該位置不包含在適當的位置。 因此,該位置必須要計算-但是如何?
定義事件觸發器:
SelectionRangeChanged += new EventHandler<CursorEventArgs>(your_handler_function);
在函數的定義中:
public void your_handler_function(object sender, CursorEventArgs e)
{
e.NewSelectionStart; // the beginning of the new range
e.NewSelectionEnd; // the end of the new range
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.