溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#如何實現會移動的文字效果

發(fā)布時間:2021-04-30 10:11:15 來源:億速云 閱讀:223 作者:小新 欄目:開發(fā)技術

這篇文章主要介紹了C#如何實現會移動的文字效果,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

C#實現會移動的文字效果的具體內容如下

1 題目描述

(1)Form1窗體設計界面如下:

C#如何實現會移動的文字效果

(2)窗體左側為一個靠左??康膒anel,其中包含一個label控件;
(3)初試狀態(tài)時,“水平移動”選中,當用戶單擊“開始移動”按鈕時,label在panel中水平從左向右移動,單擊“暫停移動”按鈕時,label停在原位置不動;
(4)在label移動過程中,若用戶切換移動方式,則彈出對話框,提示先暫停移動;在label暫停移動時,用戶切換移動方式,label在原位置以新的移動方式進行移動;

2 源碼詳解

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

namespace Csharp7_2
{
    public partial class Form1 : Form
    {
        static int x = 0;
        static int y = 0;
        static int flag = 0;
        static int v = 0;
        static int h = 0;
        public Form1()
        {
            InitializeComponent();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            if (radioButton1.Checked && flag == 1)
            {
                if (label1.Location.X + label1.Size.Width >= (panel1.Location.X + panel1.Size.Width))
                {
                    v = 1;
                }
                if (label1.Location.X < panel1.Location.X)
                {
                    v = 0;
                }
                if (v == 0)
                {
                    x = 1;
                    y = 0;
                }
                if (v == 1)
                {
                    x = -1;
                    y = 0;
                }
            }

            if (radioButton2.Checked && flag == 1)
            {
                if (label1.Location.Y + label1.Size.Height >= (panel1.Location.Y + panel1.Size.Height))
                {
                    h = 1;
                }
                if (label1.Location.Y < panel1.Location.Y)
                {
                    h = 0;
                }
                if (h == 0)
                {
                    x = 0;
                    y = 1;
                }
                if (h == 1)
                {
                    x = 0;
                    y = -1;
                }
            }

            if (flag == 1)
            {
                Point p = new Point(label1.Location.X + x, label1.Location.Y + y);
                label1.Location = p;
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            flag = 1;
            timer1.Start();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            flag = 0;
            timer1.Stop();
        }

        private void radioButton1_CheckedChanged(object sender, EventArgs e)
        {
            if (radioButton2.Checked == true && flag == 1)
            {
                flag = 0;
                radioButton2.Checked = true;
                radioButton1.Checked = false;
                MessageBox.Show("請先停止移動");
            }
        }

        private void radioButton2_CheckedChanged(object sender, EventArgs e)
        {
            if (radioButton1.Checked == true && flag == 1)
            {
                flag = 0;
                radioButton1.Checked = true;
                radioButton2.Checked = false;
                MessageBox.Show("請先停止移動");
            }
        }
    }
}

3 實現效果

C#如何實現會移動的文字效果

C#如何實現會移動的文字效果

C#如何實現會移動的文字效果

感謝你能夠認真閱讀完這篇文章,希望小編分享的“C#如何實現會移動的文字效果”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,更多相關知識等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI