public partial class MainForm : Form {
private int imgIndex = 0;
public MainForm() {
InitializeComponent();
// 1. 準備 ImageList
imageList1.Images.Add(Image.FromFile("bg1.jpg"));
imageList1.Images.Add(Image.FromFile("bg2.jpg"));
imageList1.Images.Add(Image.FromFile("bg3.jpg"));
imageList1.Images.Add(Image.FromFile("bg4.jpg"));
// 2. 設置 Timer
timer1.Interval = 5000; // 5 秒
timer1.Enabled = true;
timer1.Tick += Timer1_Tick;
// 3. 初始背景
this.BackgroundImage = imageList1.Images[0];
}
private void Timer1_Tick(object sender, EventArgs e) {
imgIndex = (imgIndex + 1) % imageList1.Images.Count;
this.BackgroundImage = imageList1.Images[imgIndex];
}
}
ImageList 統一管理圖片資源,避免重複載入。Timer 觸發 Tick 事件在 UI 線程安全更新 BackgroundImage。% 實現循環輪播。BackgroundImageLayout = ImageLayout.Stretch 自適應窗體大小。PictureBox 疊加 + Opacity 動畫實現。幾行代碼即可實現專業級背景輪播,核心在於 ImageList 資源管理與 Timer 定時觸發。