1

トラックバック コントロールでティックバー (ポイント) の現在の位置を取得することは可能ですか?

つまり: |----[ティックバー]------------------|

編集:

Ok。私はそれを考え出した。それは単純な数学です。特に左のオフセットをテストする必要がありました。

var value = trackBar1.Value;
var width = trackBar1.Width - 26; //Real width without margins. 26 = right and left offset
var locationX = trackBar1.Location.X + 13; //Real X location. 13 is left offset.
var maxValue = trackBar1.Maximum;
var delta = (double)width / (double)maxValue;

var tickBarLocationX = (int)(locationX + (delta * value));

Yロケーションでも同じことができます。

4

1 に答える 1

1

Mono プロジェクトは、WinForms 実装を開発する際に、これらすべての詳細を把握するために多くの苦労をしなければなりませんでした。コードを調べることで、この質問や他の多くの質問に対する答えを得ることができます。

特定の質問は、 GetTrackBarDrawingInfo() メソッドの ThemeWin32Classic.cs で回答されています。

于 2013-10-10T18:41:00.027 に答える