C#实现会移动的文字效果

作者:敲代码两年半的练习生 时间:2023-02-16 08:56:13 

本文实例为大家分享了C#实现会移动的文字效果的具体代码,供大家参考,具体内容如下

1 题目描述

(1)Form1窗体设计界面如下:

C#实现会移动的文字效果

(2)窗体左侧为一个靠左停靠的panel,其中包含一个label控件;
(3)初试状态时,“水平移动”选中,当用户单击“开始移动”按钮时,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#实现会移动的文字效果

来源:https://blog.csdn.net/Gyangxixi/article/details/116227704

标签:C#,移动文字
0
投稿

猜你喜欢

  • RocketMQ事务消息保证消息的可靠性和一致性

    2022-09-05 00:25:26
  • Android仿微信图片上传带加号且超过最大数隐藏功能

    2022-12-27 13:20:03
  • Mybatis-plus多数据源配置的两种方式总结

    2023-07-24 05:22:48
  • AQS(AbstractQueuedSynchronizer)抽象队列同步器及工作原理解析

    2023-02-24 22:20:09
  • 读取xml文件中的配置参数实例

    2023-10-16 16:20:41
  • Android实现TCP断点上传 后台C#服务接收

    2023-08-25 22:24:00
  • 一文带你学会规则引擎Drools的应用

    2022-04-03 08:40:59
  • 一文教你如何使用Databinding写一个关注功能

    2023-09-17 12:26:47
  • java web如何解决瞬间高并发

    2023-09-02 01:20:00
  • Spring Utils工具类常用方法实例

    2023-05-01 05:37:37
  • JAVA基于数组实现的商品信息查询功能示例

    2021-10-31 11:47:23
  • Android Notification使用方法总结

    2023-07-15 02:55:27
  • 一篇文章带你搞定SpringBoot不重启项目实现修改静态资源

    2021-06-03 03:16:41
  • 浅谈JVM之使用JFR解决内存泄露

    2022-10-19 01:55:30
  • 解决java main函数中的args数组传值问题

    2021-06-24 12:46:13
  • java 避免出现NullPointerException(空指针)的方法总结

    2022-08-31 04:15:51
  • 英雄联盟辅助lol挂机不被踢的方法(lol挂机脚本)

    2022-03-15 12:57:59
  • Mapper批量插入Oracle数据@InsertProvider注解

    2023-02-11 15:13:40
  • Android 优化之卡顿优化的实现

    2022-03-03 21:34:25
  • Java实现简易学生管理系统

    2022-10-16 19:26:49
  • asp之家 软件编程 m.aspxhome.com