public partial class Form1 : Form
{
int direction;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
lab1.Location = new Point(0, 127);
}
private void button2_Click(object sender, EventArgs e)
{
if (direction == 0)//如果當前可以向左移動
{
if (lab1.Left > 10)//如果沒有移動到最左邊,并且還能繼續向左邊移動
lab1.Left -= 70;
else//當前方向還是向左,但已經不能向左繼續移動了
{
lab1.Left = 0;//標簽直接放到最左邊
direction = 1;//讓移動方向反向
}
}
else//如果當前可以向右移動
{
if (lab1.Right < this.ClientRectangle.Width - 10)//如果沒有移動到最右邊,并且還能繼續向右邊移動
lab1.Left += 70;
else//當前方向還是向右,但已經不能向右繼續移動了
{
lab1.Left = this.ClientRectangle.Width - lab1.Width;//標簽直接放到最右邊
direction = 0;//移動方向反向
}
}
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void lab1_Click(object sender, EventArgs e)
{
}
}
}
uj5u.com熱心網友回復:
你的問題是什么,你的程式沒看出什么毛病uj5u.com熱心網友回復:
+1
uj5u.com熱心網友回復:
要實作滾動字幕效果?uj5u.com熱心網友回復:
他是在教我們如何實作label移動,各位,虛心點uj5u.com熱心網友回復:
那么問題來了,你想問什么?uj5u.com熱心網友回復:
只是為了完成csdn的第一個任務,瞎搞的
uj5u.com熱心網友回復:
為了完成任務亂搞的,受不起大佬指教
uj5u.com熱心網友回復:
寫的不錯
uj5u.com熱心網友回復:
public partial class Form1 : Form
{
public class Draggable
{
public Rectangle Region;
public Bitmap SetImage;
public void OnPaint(PaintEventArgs e) { e.Graphics.DrawImage(SetImage, Region); }
}
Draggable draggable = new Draggable();
public Form1()
{
InitializeComponent();
DoubleBuffered = true;
Paint+= (sender, e) => { draggable.OnPaint(e); };
Label label = new Label() { AutoSize = false, Size = new Size(100, 20), Text = "Copyright" };
Bitmap controlBmp = new Bitmap(100, 20);
label.DrawToBitmap(controlBmp, label.ClientRectangle);
controlBmp.MakeTransparent();
draggable = new Draggable() {Region = new Rectangle(0, 120, 100, 20), SetImage = controlBmp };
int set_x = 0;
Task.Run(async () =>
{
while (true)
{
draggable.Region = new Rectangle(set_x, 120, draggable.Region.Width, draggable.Region.Height);
await Task.Delay(5);
set_x = set_x > this.Width ? -100 : set_x += 1;
this.Invalidate();
}
});
}
}
uj5u.com熱心網友回復:
好多剛開始玩的,把這當博客了轉載請註明出處,本文鏈接:https://www.uj5u.com/net/97746.html
標籤:C#
