그래서 슬라이더를 만들려고합니다. 커서를 사용하여 버튼의 x 위치를 이동합니다.Visual Studio C# 단추의 X 위치를 깜박임없이 마우스로 이동하는 방법
나는 mouseDown, mouseUp 및 mouseMove 함수의 세 가지 함수가 있습니다. mouseUp 및 mouseDown 함수에서 변수를 true 및 false로 설정하여 마우스를 클릭했는지 여부를 프로그램에 알립니다. mouseMove 함수에서 마우스를 클릭 할 때 버튼의 x 위치를 마우스의 x 위치로 설정하도록 프로그램에 지시합니다. 이 작동하지만 2 문제가 있습니다.
첫 번째 문제는 버튼을 눌러 이동하면 버튼이 마우스의 x와 함께 움직이지만 마우스와 버튼 사이에는 공백이 있다는 것입니다. 다음과 같이 보입니다. 커서 ....... 버튼 폼의 해상도를 변경하면 커서와 버튼 사이의 간격이 변경됩니다.
두 번째 문제는 버튼을 움직이면 조금 깜박입니다. 더 빠른 속도로만이 작업을 수행하지만 내 경우에는 문제가됩니다.
내 코드는 다음과 같습니다
bool mouseDown = false;
private void volumeGrabBT_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
mouseDown = true;
}
}
private void volumeGrabBT_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
mouseDown = false;
}
}
private void volumeGrabBT_MouseMove(object sender, MouseEventArgs e)
{
if (mouseDown == true)
{
Point volumeBTPoint = new Point();
volumeBTPoint.X = Cursor.Position.X;
volumeBTPoint.Y = volumeGrabBT.Location.Y;
volumeGrabBT.Location = volumeBTPoint;
}
}
volumeGrabBT 내가 마우스를 따라 이동하는 노력하고있어 버튼입니다. volumeBTPoint는 버튼의 위치를 설정하려는 버튼의 포인트입니다.
누군가가 이러한 문제를 해결할 수 있기를 바랍니다. 미리 감사드립니다!
감사의 인사. 두 가지 제안은 완벽하게 작동합니다! 깜박임과 빈 공간이 수정되었습니다. – Thow