tabPage1)。// Form_Load 或建構子中
private void SetTabBackgrounds() {
// 方式一:從專案資源載入 (推薦,編譯內嵌)
tabPage1.BackgroundImage = Properties.Resources.Bg_Home;
tabPage2.BackgroundImage = Properties.Resources.Bg_Settings;
tabPage3.BackgroundImage = Properties.Resources.Bg_About;
// 方式二:從檔案載入 (需處理路徑、例外)
// tabPage1.BackgroundImage = Image.FromFile(@"C:\Images\bg1.jpg");
// 選塊:設定圖片佈局模式
foreach (TabPage page in tabControl1.TabPages) {
page.BackgroundImageLayout = ImageLayout.Stretch; // 填滿
// 可選: None, Tile, Center, Zoom
}
}
若 TabPage 上有 Label 等控制項,背景圖可能導致文字難閱讀:
// 設定 Label 背景透明
label1.BackColor = Color.Transparent;
// 或使用 Panel 容器,Panel.BackColor = Color.FromArgb(128, 0, 0, 0); // 半透明黑底
| 現象 | 原因 | 解決 |
|---|---|---|
| 圖片不顯示 | TabPage 未啟用繪圖 | 確認 tabPage1.UseVisualStyleBackColor = false; |
| 圖片變形 | BackgroundImageLayout 不當 | 改用 ImageLayout.Zoom 保持比例 |
| 切換 Tab 閃爍 | 重繪過慢 | 啟用雙緩衝: this.DoubleBuffered = true; |