C#實現(xiàn)會移動的文字效果
本文實例為大家分享了C#實現(xiàn)會移動的文字效果的具體代碼,供大家參考,具體內(nèi)容如下
1 題目描述
(1)Form1窗體設(shè)計界面如下:
(2)窗體左側(cè)為一個靠左??康膒anel,其中包含一個label控件;
(3)初試狀態(tài)時,“水平移動”選中,當(dāng)用戶單擊“開始移動”按鈕時,label在panel中水平從左向右移動,單擊“暫停移動”按鈕時,label停在原位置不動;
(4)在label移動過程中,若用戶切換移動方式,則彈出對話框,提示先暫停移動;在label暫停移動時,用戶切換移動方式,label在原位置以新的移動方式進(jìn)行移動;
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 實現(xiàn)效果
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#中數(shù)據(jù)的傳遞以及ToolStripProgressBar
本文主要介紹了C#的數(shù)據(jù)傳遞方法以及ToolStripProgressBar進(jìn)度條的使用。希望對大家有所幫助,話不多說,請看下面代碼2016-11-11Unity圖形學(xué)之ShaderLab入門基礎(chǔ)
Unity中所有Shader文件都通過一種陳述性語言進(jìn)行描述,稱為“ShaderLab”, 這篇文章主要介紹了Unity圖形學(xué)之ShaderLab入門基礎(chǔ),需要的朋友可以參考下2022-01-01基于C#的圖表控件庫 ScottPlot編譯visual studio 2022
基于 C# 的 圖表控件庫 ScottPlot,開源免費,可以用于開發(fā)一些上位機(jī)軟件,如電壓、電流波形的顯示,開發(fā)【示波器】圖形界面,可以顯示一些圖表、波形,總之功能比較的強(qiáng)大,本文介紹了基于C#的圖表控件庫 ScottPlot編譯visual studio 2022,需要的朋友可以參考下2022-06-06C#實現(xiàn)Winform小數(shù)字鍵盤模擬器
本文主要介紹了C#實現(xiàn)Winform小數(shù)字鍵盤模擬器,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11c#反射機(jī)制學(xué)習(xí)和利用反射獲取類型信息
反射(Reflection)是.NET中的重要機(jī)制,通過放射,可以在運(yùn)行時獲得.NET中每一個類型(包括類、結(jié)構(gòu)、接口和枚舉等)的成員,包括方法、屬性、事件,以及構(gòu)造函數(shù)等,還可以獲得每個成員的名稱、限定符和參數(shù)等,有了反射,即可對每一個類型了如指掌2014-01-01C#實現(xiàn)的4種常用數(shù)據(jù)校驗方法小結(jié)(CRC校驗,LRC校驗,BCC校驗,累加和校驗)
本文主要介紹了C#實現(xiàn)的4種常用數(shù)據(jù)校驗方法小結(jié)(CRC校驗,LRC校驗,BCC校驗,累加和校驗),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03C#實現(xiàn)Winform動態(tài)添加菜單的方法
這篇文章主要介紹了C#實現(xiàn)Winform動態(tài)添加菜單的方法,涉及C#操作菜單的技巧,需要的朋友可以參考下2015-05-05