У меня есть элемент 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, у вас может быть просто неэффективный код. –
Покажите нам соответствующий код! – TaW