C#でZedGraphを使う

VBではサンプルコードあるけど、C#ではコピペするだけでいいのが見当たらない。っていうか、公式ページに英文でさんざん懇切丁寧に書かれているような気がするんだけど、多分自分に読み解こうという気力が沸かん。

で、インテリセンス頼みなんだけど、コントロールをドロップした最初は、名前空間くらいしか出てこない。コントロール名ZedGraphControl1ってVSC#お前自分で決めてるだろうがって言ってもでてこないのは仕方がない。といってnewするともう定義されてるとか怒られる。

しょうがないから、Form1_Loadの冒頭で、片っ端からインテリセンスで引っ掛かるものを絨毯爆撃。手がかりはインテリセンスの説明文が英文になってる奴。で、頼みもしないのに、タイトルや軸のラベルが日本語の「タイトル」、「X軸」、「Y軸」になってるのをとっ捕まえてみましょうか…

            MessageBox.Show("Title="+zedGraphControl1.GraphPane.Title.Text.ToString()
                 + System.Environment.NewLine + "XAxis=" + zedGraphControl1.GraphPane.XAxis.Title.Text.ToString()
                 + System.Environment.NewLine + "YAxis=" + zedGraphControl1.GraphPane.YAxis.Title.Text.ToString()
                );

ってビンゴ。ここに格納されてたのか。

ふむ。コントロールをドロップした時点でコントロールインスタンスまでは定義済みで、インテリセンスへの反映がしばらく時間掛かるのと、グラフペインの各プロパティーをいじっていけばいいのだね。

よく見れば、今回ヒットした変数名も、ここにあるVBでのサンプル

' グラフ/X軸、Y軸のタイトル設定
myPane.Title.Text = "線グラフのサンプル"
myPane.XAxis.Title.Text = "時間"
myPane.YAxis.Title.Text = "値"

そのままでしたね。勘が掴めた。あとはVBC#に読み替えでやれそうだ。