私はWindowsフォーム上のピクチャボックスのようなコントロールを持っていました。私は、キャンバスのように自由にパネルの上にドラッグすることができます。これを行う最善の方法は何でしょうか?コントロールをパネルの周りにドラッグする方法は?
その後、パネル上の画像の位置を取得できるようにします。もちろん、私はMouseDownイベントが必要です。私の最初のアイデアは、コントロールの位置をカーソルの位置と同じにすることですが、これはうんざりしていて滑らかではありません。
私はWindowsフォーム上のピクチャボックスのようなコントロールを持っていました。私は、キャンバスのように自由にパネルの上にドラッグすることができます。これを行う最善の方法は何でしょうか?コントロールをパネルの周りにドラッグする方法は?
その後、パネル上の画像の位置を取得できるようにします。もちろん、私はMouseDownイベントが必要です。私の最初のアイデアは、コントロールの位置をカーソルの位置と同じにすることですが、これはうんざりしていて滑らかではありません。
スタート新しいスレッド
Thread thr = new Thread(() =>
{
while(true)
{
Thread.Sleep(10) // < Limit CPU usage
if(mouseDownBool == true)
{
icontrol.Location = new Point(Cursor.Position.X, Cursor.Position.Y);
}
}
});
thr.Start();
た場合のmouseDown更新mouseDownBool trueに
falseにあなたはまた、より良い効果を相殺追加できます。
この投稿は、同様HERE ... を助けるかもしれないし、出力を表示するには、単にラベルやテキストボックスを追加するなどcoordinates-何か表示:
textbox1.Text = pictureBox1.Location.ToString();
をかによって座標を取ります: (整数)(点)と
pictureBox.Location
- または -
pictureBox.Location.X // pictureBox.Location.Y
これを試すhttp://stackoverflow.com/questions/3868941/how-to-allow-user-to-drag-a-dynamically-created-control-at-the-location-of-his-c – drew