如何实现文本框的值动态地随着相同时间间隔而变化?
想在网页中实现以下效果:
1、两个文本框:一个用来显示金钱的值,ID为TBMoney,初始值为1000;一个用来显示生命的值,ID为TBLive,初始值为5000;
2、每5秒间隔时间,TBMoney文本框的值自动加10,直到加到10000不再累加;每10秒时间间隔TBLive文本框的值减20,直0不再减;
3、变化结果能在页面上显示;
4、用asp.net基于c#实现;
其实这是个模拟游戏效果,随着时间推移,生命力值或金钱点数会增加或减少,此题不涉及写入数据库,用内置对象Application记住初始值,用定时器实现即可;
在此,先谢谢大家了,小弟初次发帖,表达不到位之处,愿虚心求教;
以下是本人写的代码,有点乱,运行 重载“Application_Start”方法未获取“0”参数
在WebForm1.aspx.cs
namespace KCSJ
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox TBMoney;
protected System.Web.UI.WebControls.TextBox TBLive;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Application_Start();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
protected void Application_Start(Object sender, EventArgs e)
{
//5秒为一个循环单位
System.Timers.Timer time=new System.Timers.Timer(5000);
//动态添加timer的事件
time.Elapsed+=new System.Timers.ElapsedEventHandler(timer_Elapse);
//如果为假只循环一次
time.AutoReset=true;
//打开计数器
time.Enabled=true;
Application.Lock();
Application["Money"]=1000;
Application["Live"]=5000;
Application.UnLock();
}
private void timer_Elapse(object sender,System.Timers.ElapsedEventArgs e)
{
System.Timers.Timer time=new System.Timers.Timer(5000);
Application.Lock();
int x=Int32.Parse(Application["Money"].ToString());
if(x<10000)
{
Application["Money"]=x+10;
TBMoney.Text=Application["Money"].ToString();
}
else
{
time.Enabled=false;
Application.Lock();
Application.Remove ("Money");
Application.UnLock();
}
int y=Int32.Parse(Application["Live"].ToString());
if(y<1000)
{
Application["Live"]=y-10;
TBLive.Text=Application["Live"].ToString();
}
else
{
time.Enabled = false;
Application.Lock();
Application.Remove ("Live");
Application.UnLock();
}
}
}
}
在Global.asax.cs
protected void Application_Start(Object sender, EventArgs e)
{
Application["Money"]=1000;
Application["Live"]=5000;
}
1、两个文本框:一个用来显示金钱的值,ID为TBMoney,初始值为1000;一个用来显示生命的值,ID为TBLive,初始值为5000;
2、每5秒间隔时间,TBMoney文本框的值自动加10,直到加到10000不再累加;每10秒时间间隔TBLive文本框的值减20,直0不再减;
3、变化结果能在页面上显示;
4、用asp.net基于c#实现;
其实这是个模拟游戏效果,随着时间推移,生命力值或金钱点数会增加或减少,此题不涉及写入数据库,用内置对象Application记住初始值,用定时器实现即可;
在此,先谢谢大家了,小弟初次发帖,表达不到位之处,愿虚心求教;
以下是本人写的代码,有点乱,运行 重载“Application_Start”方法未获取“0”参数
在WebForm1.aspx.cs
namespace KCSJ
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox TBMoney;
protected System.Web.UI.WebControls.TextBox TBLive;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Application_Start();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
protected void Application_Start(Object sender, EventArgs e)
{
//5秒为一个循环单位
System.Timers.Timer time=new System.Timers.Timer(5000);
//动态添加timer的事件
time.Elapsed+=new System.Timers.ElapsedEventHandler(timer_Elapse);
//如果为假只循环一次
time.AutoReset=true;
//打开计数器
time.Enabled=true;
Application.Lock();
Application["Money"]=1000;
Application["Live"]=5000;
Application.UnLock();
}
private void timer_Elapse(object sender,System.Timers.ElapsedEventArgs e)
{
System.Timers.Timer time=new System.Timers.Timer(5000);
Application.Lock();
int x=Int32.Parse(Application["Money"].ToString());
if(x<10000)
{
Application["Money"]=x+10;
TBMoney.Text=Application["Money"].ToString();
}
else
{
time.Enabled=false;
Application.Lock();
Application.Remove ("Money");
Application.UnLock();
}
int y=Int32.Parse(Application["Live"].ToString());
if(y<1000)
{
Application["Live"]=y-10;
TBLive.Text=Application["Live"].ToString();
}
else
{
time.Enabled = false;
Application.Lock();
Application.Remove ("Live");
Application.UnLock();
}
}
}
}
在Global.asax.cs
protected void Application_Start(Object sender, EventArgs e)
{
Application["Money"]=1000;
Application["Live"]=5000;
}
...全文
相关推荐
动态获取文本框输入的值
动态的获取文本框输入的值,而不用键盘事件
Excel2007版的常用功能(20):图表基础与smartart
1. 图表基础 图表,是Excel重要的数据分析工具,它具有很多高级的制图功能,可以将工作表中的数据直观地表示出来,更清晰地看出数据的变化和发展趋势。 图表主要由:图表标题、图例、图表区、绘图区、数据系列、网格线、水平(类别)轴、垂直轴组成。 如何插入图表: 选中数据-插入-图表 如何动态修改图表标题: 选中图表标题--在编辑栏输入:‘=选中数据里图表标题那个单元格’ 这时...
Grafana变量配置全攻略:从零开始打造动态下拉列表(附实战案例)
本文提供了一份详尽的Grafana变量配置实战指南,重点讲解如何从零构建动态下拉列表以实现仪表盘的交互式数据探索。通过创建Query类型变量、在面板查询中引用变量以及实现多级联动变量等核心步骤,并结合服务器监控等实战案例,帮助用户将静态仪表盘转化为高效、可复用的动态数据视图。
asp如何实现动态下拉菜单赋值给文本框
asp如何实现动态下拉菜单赋值给文本框的两种方式。
js实现将选中值累加到文本框的方法
主要介绍了js实现将选中值累加到文本框的方法,涉及javascript动态操作页面元素结点的相关技巧,非常简单实用,需要的朋友可以参考下



