ユーザーが範囲を選択できる組み込み機能を備えた C# 組み込みの Winforms Chart コントロール ( System.Windows.Forms.DataVisualization.Charting.Chart ) を使用しています。私がやりたいことは、ユーザーが選択した範囲を読み返すことです。確かにこれを行う簡単な方法があるはずですが、私はそれを見つけることができませんでした.
カーソルは次のように有効になります。
var ca = chart1.ChartAreas["ChartArea1"].CursorX;
ca.CursorX.IsUserEnabled = true;
ca.CursorX.IsUserSelectionEnabled = true;
ユーザーが有効にして範囲を選択したときにチャートをズームできることは承知していますがca.AxisX.ScaleView.Zoomable
、画像を変更したくありません。代わりに、情報を表示する方法としてチャートを使用し、ユーザーに範囲を選択させています次に、追加の処理を行う X 値。
chart1.SelectionRangeChanged にフックしようとしましたが、範囲が変更されるたびに実際に起動します - 私が戻ってきた CursorEventArg から選択範囲を取得できないようです。「NewSelectionStart
」と「NewSelectionEnd
」のフィールドがありますがNaN
、残念ながらそれらは です。チャートと軸のさまざまなプロパティを調べてみましたが、有望と思われるものは見つかりませんでした。
さらに調査すると、ChartArea.CursorX.SelectionStartプロパティが明らかになりました。これはまさに私が必要としているもののように聞こえます...それも NaN であることを除いて。これが正常なのか、何らかのバグに遭遇したのかわかりませんか?
では、ユーザーが選択した範囲を特定するにはどうすればよいでしょうか。