移动(更改位置)对象向上移动,同时在按钮上进行鼠标



我想更改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);    
}

Pradiobutton


我希望它在紧迫的时候继续向上移动,但它只是跳到表格的上方。它在调试方面效果很好,但确实快速发展我想减慢放射线的运动,并使其可见

实际上您正在启动一个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的间隔。我想你写这个是为了娱乐。因此,玩得开心!

相关内容

  • 没有找到相关文章

最新更新