在C#中,你可以使用Windows Forms或WPF來創建一個自定義的Loading圖標。這里我將為你提供一個簡單的Windows Forms示例。首先,你需要創建一個新的Windows Forms項目。
打開Visual Studio,創建一個新的Windows Forms應用程序項目(File > New > Project > Windows Forms App (.NET))并命名為"CustomLoadingIcon"。
在解決方案資源管理器中,雙擊"Form1.cs"以打開設計器。
從工具箱中,將一個"PictureBox"控件拖放到表單上。將其位置設置為(100, 100),大小設置為(100, 100)。
選中"PictureBox"控件,然后在屬性窗口中,將"Modifiers"屬性設置為"Public"。
雙擊表單以打開"Form1.cs"的代碼視圖。在"Form1"類中添加以下代碼:
using System;
using System.Drawing;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace CustomLoadingIcon
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private async void Form1_Load(object sender, EventArgs e)
{
await Task.Run(() => StartLoadingAnimation());
}
private void StartLoadingAnimation()
{
int degree = 0;
while (true)
{
degree = (degree + 10) % 360;
this.Invoke((Action)(() =>
{
pictureBox1.Image = GenerateRotatedImage("loading.png", degree);
}));
System.Threading.Thread.Sleep(50);
}
}
private Image GenerateRotatedImage(string imagePath, int degree)
{
Image originalImage = Image.FromFile(imagePath);
Bitmap rotatedImage = new Bitmap(originalImage.Width, originalImage.Height);
using (Graphics g = Graphics.FromImage(rotatedImage))
{
g.TranslateTransform(originalImage.Width / 2, originalImage.Height / 2);
g.RotateTransform(degree);
g.TranslateTransform(-originalImage.Width / 2, -originalImage.Height / 2);
g.DrawImage(originalImage, new Point(0, 0));
}
return rotatedImage;
}
}
}
將一個名為"loading.png"的圖像文件添加到項目中(右鍵項目 > Add > Existing Item)。確保將其復制到輸出目錄(在屬性窗口中,將"Copy to Output Directory"設置為"Copy always")。
運行項目,你將看到一個旋轉的Loading圖標。
這個示例中,我們創建了一個PictureBox控件,并在表單加載時啟動了一個異步任務來旋轉圖像。GenerateRotatedImage
函數根據給定的角度生成一個旋轉后的圖像。你可以根據需要修改這個示例,例如更改圖像文件、旋轉速度等。