如何在运行程序或函数时更改asp.net visual basic中的文本标签。 例如,当项目验证某些内容时,标签会说同样的内容。 (对不起,我不会说英语)
答案 0 :(得分:3)
我认为你要做的是: - 拥有一种状态标签,其中包含更改文本,具体取决于当前任务 - 在应用程序线程上执行过程/函数(例如按下按钮)
如何处理?: 我这样做的方式如下: 要求: - 连接到表单的计时器 - 一个按钮和一个标签(仅用于我的例子)
以下是我的方法的代码:
private String currentStatus = "Idle";
/*
* Use this while working with Lists or other kinds of arrays
* private object syncObject = new object();
*/
private void button1_Click(object sender, EventArgs e)
{
// Keep in mind that you should disable the button while the thread is running
new Thread(new ThreadStart(DoTask)).Start();
}
private void DoTask()
{
/*
* If you are working with Lists for example
* you should use a lock to prevent modifications
* while actually iterating the list.
* Thats how you use it:
* lock(syncObject){// You can do it for a single or a bunch of list actions
* list.Add(item);
* }
*/
currentStatus = "Waiting...";
Thread.Sleep(1000);
currentStatus = "Scanning...";
Thread.Sleep(1000);
currentStatus = "Extracting data...";
Thread.Sleep(1000);
currentStatus = "Done!";
}
private void tickTimer_Tick(object sender, EventArgs e)
{
statusLabel.Text = currentStatus;
}
请记住: 您无法更改任何 Control 值,例如标签。文本或其他线程中的其他值!这就是为什么我使用这个 String 字段。
我希望它有所帮助:)