winforms 如何以指定的时间间隔更改Windows窗体的背景图像?

bihw5rsg  于 2023-02-13  发布在  Windows
关注(0)|答案(1)|浏览(149)

我的表单有一个按钮,当点击它时将启动一个计时器,并且表单的背景图像以指定的时间间隔改变;4:30、5和5:30分钟。对此不熟悉,使用Windows窗体应用程序(.NET Framework)
我尝试使用秒表类

Stopwatch timer = new Stopwatch();
timer.Start();

无法使计时器相等。已消耗时间值

vc9ivgsu

vc9ivgsu1#

如果要按指定的时间间隔更改Windows窗体的背景图像

using System;
using System.Windows.Forms;
using System.Threading;

namespace ChangeBackgroundImage
{
    public partial class Form1 : Form
    {
        int count = 0;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Timer timer = new Timer();
            timer.Interval = (1000) * (1);              // Timer will tick every 1 second
            timer.Enabled = true;                      // Enable the timer
            timer.Start();                             // Start the timer
            timer.Tick += new EventHandler(timer_Tick);
        }

        private void timer_Tick(object sender, EventArgs e)
        {
            count++;
            if (count == 1)
            {
                this.BackgroundImage = Properties.Resources.background1;
            }
            else if (count == 2)
            {
                this.BackgroundImage = Properties.Resources.background2;
            }
            else if (count == 3)
            {
                this.BackgroundImage = Properties.Resources.background3;
                count = 0;
            }
        }
    }
}

在此示例中,Form1类包含一个每1秒计时一次的计时器。timer_Tick事件处理程序在计时器每次计时时递增count变量,并根据count的值设置窗体的背景图像。这些图像存储在Properties.Resources命名空间中,可以通过右键单击项目将其添加到项目中。选择“属性”,然后选择“资源”。您可以通过单击“添加资源”并选择“添加现有文件”来添加图像。
注意,这段代码假设在Properties.Resources命名空间中存储了三个名为background1.jpgbackground2.jpgbackground3.jpg的图像,您可以用自己的图像替换这些图像,并根据需要调整count逻辑。

相关问题