NEWS

[C#] Tạo hiệu ứng Flash Animated Text Label trên Winform

[C#] Tạo hiệu ứng Flash Animated Text Label trên Winform
Đăng bởi: Thảo Meo - Lượt xem: 4801 11:04:23, 12/03/2021C#   In bài viết

Xin chào các bạn, bài viết hôm nay mình sẽ chia sẽ đến các bạn đoạn code tạo hiệu ứng Text Flash Label trên lập trình C#, Winform.

[C#] Animated Text Label Winform

Dưới đây, là giao diện demo ứng dụng hiệu ứng Flash Text:

animated_text_csharp

Ở bài viết này chúng ta sẽ sử dụng Timer và các hàm đồ họa graphics để tạo hiệu ứng.

Full source code c#:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace AnimatedText
{
    public partial class Form1 : Form
    {
        int timer_interval = 15;
        int current_gradient_shift = 10;
        int gradiant_step = 5;
        public Form1()
        {
            InitializeComponent();
        }
      
        private void timer1_Tick(object sender, EventArgs e)
        {

            Graphics grafx = CreateGraphics();
            Font fnt = new Font("Tahoma", 30, FontStyle.Bold, GraphicsUnit.Point);
            string start_text = "HELLO LAPTRINHVB";
            SizeF fnt_size = new SizeF(grafx.MeasureString(start_text, fnt));

            PointF ptf_text_start = new PointF((System.Convert.ToSingle(ClientSize.Width - fnt_size.Width)) / 2, (System.Convert.ToSingle(ClientSize.Height - fnt_size.Height)) / 2);

            PointF ptf_gradient_start = new PointF(0, 0);
            PointF ptf_gradient_end = new PointF(current_gradient_shift, 130);
            LinearGradientBrush gradient_brush = new LinearGradientBrush(ptf_gradient_start, ptf_gradient_end, Color.Orange, BackColor);
            grafx.DrawString(start_text, fnt, gradient_brush, ptf_text_start);
            grafx.Dispose();

            current_gradient_shift += gradiant_step;
            if (current_gradient_shift == 500)
            {
                gradiant_step = -5;
            }
            else if (current_gradient_shift == -50)
            {
                gradiant_step = 5;
            }
        }



        private void Form1_Load(object sender, EventArgs e)
        {
            timer1.Start();
            timer1.Interval = timer_interval;
        }
    }
}

Thanks for watching!

DOWNLOAD SOURCE

THÔNG TIN TÁC GIẢ

BÀI VIẾT LIÊN QUAN

[C#] Tạo hiệu ứng Flash Animated Text Label trên Winform
Đăng bởi: Thảo Meo - Lượt xem: 4801 11:04:23, 12/03/2021C#   In bài viết

CÁC BÀI CÙNG CHỦ ĐỀ

Đọc tiếp
.