我想更改RadioButton位置并在我单击按钮时使其向上移动
尝试了此
private void up_MouseDown(object sender, MouseEventArgs e)
{
while(P.Location.Y>0)
P.Location = new System.Drawing.Point(P.Location.X, P.Location.Y - 1);
}
P
是radiobutton
我希望它在紧迫的时候继续向上移动,但它只是跳到表格的上方。它在调试方面效果很好,但确实快速发展我想减慢放射线的运动,并使其可见
实际上您正在启动一个way循环,直到radiobutton处于表单顶部,您仍在按下按钮。您可以通过将螺纹放置在循环中慢慢放慢速度。
private void up_MouseDown(object sender, MouseEventArgs e)
{
while (P.Location.Y > 0)
{
P.Location = new System.Drawing.Point(P.Location.X, P.Location.Y - 1);
System.Threading.Thread.Sleep(10);
}
}
如果您想更好地控制,我将使用计时器。在此示例中,间隔设置为10。
private void up_MouseDown(object sender, MouseEventArgs e)
{
timer1.Start();
}
private void up_MouseUp(object sender, MouseEventArgs e)
{
timer1.Stop();
}
private void timer1_Tick(object sender, EventArgs e)
{
if (P.Location.Y > 0)
{
P.Location = new System.Drawing.Point(P.Location.X, P.Location.Y - 1);
}
}
您可以使用计时器。从工具箱中添加一个计时器,称其名称为timer1,然后添加以下方法:
private void P_MouseUp(object sender, MouseEventArgs e) {
timer1.Enabled=false;
}
private void P_MouseDown(object sender, MouseEventArgs e) {
timer1.Enabled=true;
}
private void timer1_Tick(object sender, EventArgs e) {
if(P.Location.Y>0)
P.Location=new System.Drawing.Point(P.Location.X, P.Location.Y-1);
}
您可以在属性窗口中更改timer1的间隔。我想你写这个是为了娱乐。因此,玩得开心!