29276


お世話になります。

`Chart` コントロールを使用して、グラフを作成するコードを書いています。

棒グラフの表示まではうまくいき、その棒グラフの中の棒をダブルクリックすることで、  
ダブルクリックされたデータのXの要素とYの要素を取得したいと思っています。

他サイト様のサンプルを拝見し、Yの要素の取得まではできたのですが、X軸の要素が  
取得できません。

下記にコードを記述します。

[code]

    //ダブルクリックしたとき
    private void chart1_DoubleClick(object sender, EventArgs e)
    {
        HitTestResult result;
        result = this.chart1.HitTest(((MouseEventArgs)e).X, ((MouseEventArgs)e).Y);
        if (result.ChartElementType == ChartElementType.DataPoint)
        {
            DataPoint dp = result.Series.Points[result.PointIndex];
    
            MessageBox.Show(dp.XValue + "," + dp.YValues[0]);
        }
    }
    
    //グラフにデータを入れているところ(一部のみ抜粋)
    for (int idx = 0; idx < dic.Length; idx++)
    {
        Dictionary d = dic[idx];
    
        System.Windows.Forms.DataVisualization.Charting.DataPoint dp = new System.Windows.Forms.DataVisualization.Charting.DataPoint();
        dp.SetValueXY(d["year"] + "年" + d["month"] + "月" + d["day"] + "日", int.Parse(d["sheets"]));  //XとYの値を設定
        dp.IsValueShownAsLabel = true;
        this.series2.Points.Add(dp);
    }
    
[/code]

`Dictionary`クラスに、年、月、日のデータと、それに該当する値(sheets)があり、  
それをグラフに落としています。

取得するところでは、`dp.YValues[0]`で取り出すことはできたのですが、`XValue`では  
常に0、そもそも`double`型の返り値でしか拾えません。"2016年4月14日" とかの  
文字列、要は表示されているものそのものを拾いたいのですが、どうすれば  
良いでしょうか。  
それとも、そもそもメソッドの使用方法が間違っているのでしょうか。

ご教授ください。

よろしくお願いいたします。


CC BY-SA 3.0
2016-10-01T02:45:27.040
29275
2016-10-11T12:41:56.950
2016-10-11T12:41:56.950
8000
9374
question
c# winforms
C# Chartコントロールをダブルクリックしたときの値を取りたい


X軸ラベルですので[`dp.AxisLabel`](https://msdn.microsoft.com/ja-
jp/library/system.windows.forms.datavisualization.charting.datapointcustomproperties.axislabel.aspx)プロパティで参照できます。


CC BY-SA 3.0
2016-10-01T03:12:35.503
29276
2016-10-01T03:12:35.503
5750
29275
answer