項目需要在頁面增加一行文字滾動的公告 網上沒找到合適的 反正需求不大所以自己寫了一個簡單的,有註釋看一下應該就懂了,調用方法前需要創建一個label標籤並設置好內容 代碼創建和拖控件都可以,方法只需要傳入label的對象就行.
public static void setTips(Label obj)
{
//初始化對象從右側開始
obj.Location = new Point(obj.Parent.Width, obj.Location.Y);
Timer tipsTimer = new Timer();
tipsTimer.Enabled = true;
tipsTimer.Interval = 100;
//鼠標放上去停止滾動
obj.MouseMove += new MouseEventHandler((s, x) =>
{
tipsTimer.Enabled = false;
});
//鼠標離開繼續滾動
obj.MouseLeave += new EventHandler((s, x) =>
{
tipsTimer.Enabled = true;
});
//滾動
tipsTimer.Tick += new EventHandler((s, x) =>
{
//如果當前標籤定位已經完全滾動完了就恢復到右側重新滾動
if (obj.Location.X <= (obj.Width - (obj.Width * 2)))
{
obj.Location = new Point(obj.Parent.Width, obj.Location.Y);
}
else
{
obj.Location = new Point(obj.Location.X - 10, obj.Location.Y);
}
});
}