C# 关于textbox显示当前系统时间问题

来源:百度知道 编辑:UC知道 时间:2024/09/19 16:42:49
this.textbox.Text = DateTime.Now.ToString();
这个是和时间同步的。。
我想知道如何使textbox只是记录下当前系统的时间。。和不是同步
例如我按下某个按钮。。textbox只是显示我按下按钮的时间
而不是当我没按按钮时候时间继续再运行
我做的是哪个C#。。不是asp.net的。。你们说的那些UpdatePannel和ScriptManger。。在我的工具箱找不到呢。。之前我说的时间会自动运行。。主要是因为我放了timer。。那是为了自动比较一个值。。如果那个textbox的值和我的另一个相同的话。。就会在第3个textbox上写上时间。。不过放了timer后..时间就无法定格了吧?只会继续运行
不好意思哦。应该是我表达能力有问题。只是点击按钮显示时间是可以了。。只是要加入timer。就无法定格时间了。。这是代码
private void timer5_Tick(object sender, EventArgs e)
for (int i = 0; i < listView1.Items.Count; i++)
{
if (string.Compare(this.textBox1.Text, this.listView1.Items[i].SubItems[1].Text, true) == 0)
{
this.listView1.Items[i].SubItems[3].Text = "yamede";
this.listView1.Items[i].SubItems[4].Text = DateTime.Now.ToString();
}
}
是比较listview的某值。用了timer相同就会在比较的某值后面写yamede,还有时间。。问题是时间还会继续运行。例如我比较第一个值相同的话时间是12:00:00。时间不会定格在120000。反而继续运行。。结果变成比较所有的值。时间都是一样的。。|||

private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = DateTime.Now.ToString();
}

button单击事件

把timmer事件里的this.textbox.Text = DateTime.Now.ToString();
去掉,双击你的button,就会自动添加button单击事件了,然后把那句语句添加到这个事件中即可

textbox.text记录的就是按下按钮的时间
除非你是在按钮事件回发里重新加载了textbox的内容

解决办法:
在page_load事件里写
if(!IsPostBack)
{
this.textbox.Text = DateTime.Now.ToString();
}
这样点击按钮时就不会将textbox的内容刷新了

在网页上,按下按钮是一次请求,再一次就是不同的请求了。你要你的时间一直运行,要用Ajax,你可以在页面是上拖一个UpdatePannel和ScriptManger,然后就textbox放在UpdatePannel中就可以了

IsPostBack 是否回发,也就是是否将服务器端的数据传给客户端的意思。
如果加上!IsPostBack,意思就是不回发,那么客户端只接收一次数据,以后就不会接收了,除非通过按钮单击等事件重新初始化页面,才会再次接收数据。
这样就可以解决数据会动态改变的问题了。(页面会将第一次接收的数据保存在浏览器缓存中,如果不重新初始化就会一直提供给浏览器使用)