我在窗体中有一个GUI元素,我希望它可以实时连续刷新,而不会使表单的其余部分无响应。如何避免光标图标自动更改?
我已将其刷新方法分配给以窗体的构造函数开头的线程。
缺点是鼠标指针的图标在“默认”和“AppStarting”图标之间自动变化。
那么,是否有办法让鼠标指针的图标在刷新发生时不会自动更改,并让它保留在其默认图标上?
更新:新增revelent代码:
的方法被称为:
private void WebRefresh()
{
try
{
for (int i = 0; i < i + 1; i++)
{
System.Threading.Thread.Sleep(100);
htmlCode = textBox1.Text;
File.WriteAllText(@"E:\New folder\Private\My Programs\Html Helper\Data\workingPage.html", textBox1.Text, Encoding.UTF8);
webBrowser1.Navigate(@"E:\New folder\Private\My Programs\Html Helper\Data\workingPage.html");
}
}
catch (IOException ex)
{
System.Media.SystemSounds.Hand.Play();
MessageBox.Show(ex.Message,ex.TargetSite.ToString());
}
}
线程初始化:
Thread WebPreview = new Thread(WebRefresh);
WebPreview.Start();
不允许从除创建它们的线程之外的线程修改GUI元素。 – adv12
您可以在另一个线程上执行任何类型的数据处理,但是要从该线程进行更新,您必须调用主GUI线程上的函数。如果你正在做处理,你会想单独做,但如果你正在做的疯狂的GUI的东西,你可能只是没有效率的代码。 –
告诉我们相关的代码! – TaW