c#中 我想在一个label(长400宽40)控件中动态(从下往上)显示一段文字 最好不要经过数据
c#中我想在一个label(长400宽40)控件中动态(从下往上)显示一段文字最好不要经过数据库的操作初学者希望大神给出详细步骤...
c#中 我想在一个label(长400宽40)控件中动态(从下往上)显示一段文字 最好不要经过数据库的操作 初学者 希望大神给出详细步骤
展开
4个回答
展开全部
2钟方式,使用定时器。每隔一段时间移动一个像素,然后判断lable的下边距坐标是否为负,如果为负的话就隐藏,然后移动到底部显示,然后重复这样的过程就滚动了
还有一种就是使用动画API
public const Int32 AW_HOR_POSITIVE = 0x00000001; // 从左到右打开窗口
public const Int32 AW_HOR_NEGATIVE = 0x00000002; // 从右到左打开窗口
public const Int32 AW_VER_POSITIVE = 0x00000004; // 从上到下打开窗口
public const Int32 AW_VER_NEGATIVE = 0x00000008; // 从下到上打开窗口
public const Int32 AW_HIDE = 0x00010000; //隐藏窗口,缺省则显示窗口。
public const Int32 AW_SLIDE = 0x00040000; //使用滑动类型。缺省则为滚动动画类型。当使用AW_CENTER标志时,这个标志就被忽略。
[DllImportAttribute("user32.dll")]
public static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);
调用的时候
显示
AnimateWindow(label5.Handle, 1000, AW_SLIDE | AW_VER_NEGATIVE);
label5.Visible = true;
收起
AnimateWindow(label5.Handle, 1000, AW_SLIDE | AW_VER_POSITIVE | AW_HIDE);
label5.Visible = false;
还有一种就是使用动画API
public const Int32 AW_HOR_POSITIVE = 0x00000001; // 从左到右打开窗口
public const Int32 AW_HOR_NEGATIVE = 0x00000002; // 从右到左打开窗口
public const Int32 AW_VER_POSITIVE = 0x00000004; // 从上到下打开窗口
public const Int32 AW_VER_NEGATIVE = 0x00000008; // 从下到上打开窗口
public const Int32 AW_HIDE = 0x00010000; //隐藏窗口,缺省则显示窗口。
public const Int32 AW_SLIDE = 0x00040000; //使用滑动类型。缺省则为滚动动画类型。当使用AW_CENTER标志时,这个标志就被忽略。
[DllImportAttribute("user32.dll")]
public static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);
调用的时候
显示
AnimateWindow(label5.Handle, 1000, AW_SLIDE | AW_VER_NEGATIVE);
label5.Visible = true;
收起
AnimateWindow(label5.Handle, 1000, AW_SLIDE | AW_VER_POSITIVE | AW_HIDE);
label5.Visible = false;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
简单一点用三个Lab1e做,将文字层置于最下,上面覆盖两层(背景改为界面颜色)中间留一条缝显示下层文字,定时器执行文字层的向上移动
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-03-27 · 知道合伙人软件行家
关注
展开全部
你这是跑马灯的效果吧。C#本身没有提供这样的控件,要自己来控制的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询