반응형
* C# 움직이는 라벨 만들기 예제...
-사용한 컨트롤 : Label 1 개, Panel 1개, Timer 1개
전체 소스 코드
Form1.cs
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 CSharp_MoveLabel
{
public partial class Form1 : Form
{
int iLocationX = 1;
int iLocationY = 0;
bool bCheck = true; //true 앞으로 false 뒤로
int iSpeed = 5;
int iOffset = 10;
public Form1()
{
InitializeComponent();
iLocationY = (panel1.Height - panel1.Location.Y) / 2;
Point p = new Point(iLocationX, iLocationY);
label1.Location = p;
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
timer1.Start();
}
protected override void OnClosed(EventArgs e)
{
base.OnClosed(e);
timer1.Stop();
}
private void timer1_Tick(object sender, EventArgs e)
{
//앞으로
if (bCheck)
{
int iMove = iLocationX + label1.Width + iOffset ;
int iEnd = panel1.Width ;
if (iMove <= iEnd)
{
iLocationX += iSpeed;
Point p = new Point(iLocationX, iLocationY);
label1.Location = p;
}
//끝지점에 도달 했으면...
else
{
bCheck = false;
}
}
//뒤로
else
{
//처음으로 다시 왔으면...
if (iLocationX <= panel1.Location.X )
{
bCheck = true;
}
else
{
iLocationX -= iSpeed;
Point p = new Point(iLocationX, iLocationY);
label1.Location = p;
}
}
}
}
}
*예제 결과
반응형
'C# Programming' 카테고리의 다른 글
[C#] [API] 화면 캡쳐 방지 (Screen Capture Prevention) (0) | 2020.05.25 |
---|---|
[C#] [Control] Listview - BeginUpdate(), EndUpdate() 조회 속도 비교 (0) | 2020.05.21 |
[C#] [Control] Listview - Button, Progressbar, TextBox 컨트롤 삽입 (0) | 2020.05.15 |
[C#] [Control] Listview - 그룹화 항목 만들기 (0) | 2020.05.13 |
[C#] EXE File iCon 가져오기 (0) | 2020.05.11 |