C〓〓は移動する文字の効果を実現します。


本論文の例では、C葃実現のために移動する文字効果の具体的なコードを共有しています。参考にしてください。具体的な内容は以下の通りです。
1テーマの説明
(1)フォームデザイン画面は以下の通りです。

(2)フォームの左側は左に寄せられたパンで、一つのlabelコントロールが含まれています。
(3)初回試験状態の場合、「水平移動」が選択され、ユーザが「移動開始」ボタンをクリックすると、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実現効果



以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。