2013-08-14
展开全部
C#一般使用动态效果时,可以采用Timer控件完成定触发特定事件.原答案在这方面没有问题.但是. 原答案有一处待改进的地方就是,如果希望长久的使用Timer控件,则应该以绘图界面德方式建立Timer控件, 而不是自行在类中定义Timer类而抛弃了可是部分的功能, 这样的隐患有:1. 编译器在生成"图形化编辑界面"时, 可能由于自己定义的Timer控件产生冲突而失效, 这会导致"图形化编辑界面"失效. 极大的影响变成效率.2. 自己定义的Timer控件不利于方面的管理属性和事件.综上. 在理解原有答案之后, 在实际应用时, 应考虑采用通过"图形化编辑界面"建立和管理Timer控件. 以达到定时控制的更好效果. 因此, 对原有代码进行修改.//添加一个窗体工程, 建立一个label, 命名为label1, //再建立一个Timer,命名为tLabelMove. 加入如下代码即可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 WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();//tLabelMove的初始化过程在这个函数中完成.
}private void tLabelMode_Tick(object sender, EventArgs e)//事件函数不做修改.
{
if (label1.Top > 0 )
{
label1.Top -= 10;
}
else
{
label1.Top = this.Height;
}
}
}
}
//已经调试通过, 希望对你有帮助.
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();//tLabelMove的初始化过程在这个函数中完成.
}private void tLabelMode_Tick(object sender, EventArgs e)//事件函数不做修改.
{
if (label1.Top > 0 )
{
label1.Top -= 10;
}
else
{
label1.Top = this.Height;
}
}
}
}
//已经调试通过, 希望对你有帮助.
2013-08-14
展开全部
在工具箱里拖一个Timer控件,把Enabled设置为True,给Timer的Tick事件写如下程序 label1.Top -= 10;
if (label1.Top < -label1.Height)
label1.Top = this.Height;
if (label1.Top < -label1.Height)
label1.Top = this.Height;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-14
展开全部
帮你实现了, 新建窗体工程, 添加一个Label, 命名为label1, 加入如下代码 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 WindowsFormsApplication1
{
public partial class Form1 : Form
{
Timer tLabelMove = null;
public Form1()
{
InitializeComponent();
tLabelMove = new Timer();
tLabelMove.Interval = 100;
tLabelMove.Tick += new EventHandler(tLabelMode_Tick);
tLabelMove.Enabled = true;
} private void tLabelMode_Tick(object sender, EventArgs e)
{
if (label1.Left < this.Width )
{
label1.Left += 10;
}
else
{
label1.Left = 0;
}
}
}
}
已经调试成功, 希望对你有帮助
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
Timer tLabelMove = null;
public Form1()
{
InitializeComponent();
tLabelMove = new Timer();
tLabelMove.Interval = 100;
tLabelMove.Tick += new EventHandler(tLabelMode_Tick);
tLabelMove.Enabled = true;
} private void tLabelMode_Tick(object sender, EventArgs e)
{
if (label1.Left < this.Width )
{
label1.Left += 10;
}
else
{
label1.Left = 0;
}
}
}
}
已经调试成功, 希望对你有帮助
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询