中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

利用C#實現自定義Loading圖標

c#
小樊
110
2024-08-29 04:33:41
欄目: 編程語言

在C#中,你可以使用Windows Forms或WPF來創建一個自定義的Loading圖標。這里我將為你提供一個簡單的Windows Forms示例。首先,你需要創建一個新的Windows Forms項目。

  1. 打開Visual Studio,創建一個新的Windows Forms應用程序項目(File > New > Project > Windows Forms App (.NET))并命名為"CustomLoadingIcon"。

  2. 在解決方案資源管理器中,雙擊"Form1.cs"以打開設計器。

  3. 從工具箱中,將一個"PictureBox"控件拖放到表單上。將其位置設置為(100, 100),大小設置為(100, 100)。

  4. 選中"PictureBox"控件,然后在屬性窗口中,將"Modifiers"屬性設置為"Public"。

  5. 雙擊表單以打開"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;
        }
    }
}
  1. 將一個名為"loading.png"的圖像文件添加到項目中(右鍵項目 > Add > Existing Item)。確保將其復制到輸出目錄(在屬性窗口中,將"Copy to Output Directory"設置為"Copy always")。

  2. 運行項目,你將看到一個旋轉的Loading圖標。

這個示例中,我們創建了一個PictureBox控件,并在表單加載時啟動了一個異步任務來旋轉圖像。GenerateRotatedImage函數根據給定的角度生成一個旋轉后的圖像。你可以根據需要修改這個示例,例如更改圖像文件、旋轉速度等。

0
太仆寺旗| 金坛市| 睢宁县| 宾川县| 彩票| 金塔县| 宝鸡市| 石渠县| 尼玛县| 乐业县| 正阳县| 灵石县| 佛坪县| 滁州市| 静宁县| 禹州市| 延川县| 石台县| 和平县| 拉孜县| 玛纳斯县| 黄石市| 嘉祥县| 天柱县| 德令哈市| 无极县| 尼勒克县| 台北县| 白玉县| 曲松县| 高唐县| 乐安县| 呼伦贝尔市| 化德县| 辽宁省| 临洮县| 思茅市| 新密市| 和龙市| 西平县| 澳门|