【发布时间】:2017-01-09 20:17:05
【问题描述】:
我想问一个问题。我得到了这段代码,我的目的是让我的动态标签刷新值,而不用在另一个标签上堆叠。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace refresh_label
{
public partial class Form1 : Form
{
Int64 num1 = 0;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Timer t1 = new Timer();
t1.Interval = 1;
t1.Tick += new EventHandler(lbl_refresh);
t1.Enabled = true;
Label lbl = new Label();
lbl.Text = num1.ToString();
this.Controls.Add(lbl);
}
private void lbl_refresh(object sender, EventArgs e)
{
num1++;
}
}
}
//on this one it's working but staking labels. is there a way to refresh the label without staking it and then clear it? thank you for your time.
private void Form1_Load(object sender, EventArgs e)
{
Timer t1 = new Timer();
t1.Interval = 1;
t1.Tick += new EventHandler(lbl_refresh);
t1.Enabled = true;
}
private void lbl_refresh(object sender, EventArgs e)
{
num1++;
Label lbl = new Label();
lbl.Text = num1.ToString();
this.Controls.Add(lbl);
lbl.BringToFront();
}
【问题讨论】:
-
对于初学者来说,无需每次都创建新标签。你只是想创建一个计时器并在单个标签中显示值..?
-
你不能只是 lbl.Text = string.Empty;清除,lbl.Text = newValue;设置,lbl.Invalidate;强制重绘?