C#实现会移动的文字效果
作者:敲代码两年半的练习生 时间:2023-02-16 08:56:13
本文实例为大家分享了C#实现会移动的文字效果的具体代码,供大家参考,具体内容如下
1 题目描述
(1)Form1窗体设计界面如下:
(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 实现效果
来源: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