マウスでパネル内のピクチャボックスを移動する方法。 Visual Studio 2015 C#Winsowsフォームアプリケーション。マウスでパネル内のピクチャボックスを移動する方法
私はWindowsMediaPlayerの音量を制御するための基本的なスライダーを作っています。 背景はパネル、内側はpictureBoxがスライダーknopfです。 それはうまく動作します。 しかし、純粋に視覚的にはそれはうまく動作しません。
I'vはすべて検索しましたが、この少し面白い問題の答えは見つかりません。私は少しパネルのエッジのうち、ピクチャボックスを移動すると
int posY;
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
posY = e.Y; ;
}
}
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
PictureBox box = sender as PictureBox;
if (e.Button == MouseButtons.Left)
{
box.Top += e.Y - posY;
}
if (box.Top < 0)
{
box.Top = 0;
}
if (box.Top > 100)
{
box.Top = 100;
}
int n = box.Top;
n = n * - 1 + 100;
label1.Text = n.ToString();
}
は、ピクチャが何とかパネルに「縮小」:
は、ここに私のコードです。 しかし、マウスを放すと、pictureBoxはそのサイズを復元します。
理由ですか。? どうしたらいいですか?
ありがとうございました。