2

マウスベースのイベントを使用して、ユーザーインターフェイスレベルからZedgraphのスケール制限を設定したいのですが、次のコードを使用して、プログラムでスケール値を変更できます。

       GraphPane myPane = zedGraphControl1.GraphPane;
        // Set Min & Max of X-Axis Scale
        myPane.XAxis.Scale.Min = 0;
        myPane.YAxis.Scale.Max = 100;
        myPane.AxisChange();

しかし、私はエンドユーザーにオプションを提供しようとしています。これにより、エンドユーザーはマウスをスケール値の上に置き、制限を動的に変更できます。

編集:

ここに画像の説明を入力してください

簡単な考え: スケール制限(0.0または1.2)をマウスで2回クリックするだけで、スケール制限を変更できるはずです。

あなたのアイデアと提案は高く評価されています&あなたの時間に感謝します.... :)

4

1 に答える 1

1

私が考えることができる唯一のことは、MouseClickイベントを利用してから、大きな汚いハックをやってのけることです。グラフのLocationプロパティ(通常は左上の座標が表示されます)を確認してから、Sizeプロパティを確認し(ウィンドウのサイズが変更され、グラフも変更された場合にこれを実行します)、System.Windows.Formsを取得します。 .Cursor.PositionMaxカーソルがスケール値の上にある場合は、新しい値または値を入力できるポップアップショーが表示される可能性がありMinますか?動的に変化するグラフのどこにスケール値が表示されるかを大まかに把握するのは面倒かもしれませんが、特に座って計算を行い、ラベルが表示されるサイズのパーセンテージを見つける場合は、間違いなく実行できます。

これがお役に立てば幸いです。

編集:また、クリックされているのが左ボタンであることを確認してください:

 if (e.Button == MouseButtons.Left)
于 2013-03-01T01:57:00.343 に答える