C#用计时器调整图片框大小

时间:2017-12-25 21:38:40

标签: c# .net winforms

我对此并不擅长,但我有一个想法,我想在这里询问是否有可能。所以我想制作,所以PictureBox变得更大,增长到一定的尺寸,然后再次变小,并继续这样做。我只知道如何制作,所以它变得更大或更小,但我无法弄清楚如何制作,所以它检测特定的大小,然后做相反的事情。我使用的代码。

Size size = pictureBox.Size;
size.Height--;
size.Width--;
pictureBox.Size = size;

1 个答案:

答案 0 :(得分:0)

只是一个例子,因为你没有指定扩大和缩小的标准。初始化您的计时器:

// set the interval you prefer
System.Timers.Timer timer = new System.Timers.Timer(500); 
timer.Elapsed += OnElapsed;
timer.AutoReset = true;
timer.Enabled = true;

创建一个成员变量,控制是否必须放大或缩小PictureBox

private Boolean m_Reducing = false;

然后将所有内容放在订阅的计时器处理程序中:

private static void OnElapsed(Object sender, ElapsedEventArgs e)
{
    Size size = pictureBox.Size;

    if (m_Reducing)
    {
        --size.Height;
        --size.Width;

        if ((size.Width == minimumWidth) && (size.Height == minimumHeight))
            m_Reducing = false;
    }
    else
    {
        ++size.Height;
        ++size.Width;

        if ((size.Width == maximumWidth) && (size.Height == maximumHeight))
            m_Reducing = true;
    }

    pictureBox.Size = size;
}