양식의 나머지 부분을 응답하지 않고 실시간으로 계속 새로 고치기를 원하는 양식의 GUI 요소가 있습니다.커서 아이콘이 자동으로 변경되는 것을 피하는 방법은 무엇입니까?
폼의 생성자로 시작하는 Thread에 refresh 메서드를 할당했습니다.
단점은 마우스 포인터의 아이콘이 '기본값'과 '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 요소를 작성한 스레드 이외의 스레드에서 GUI 요소를 수정할 수 없습니다. – adv12
다른 스레드에서 어떤 종류의 데이터 처리를 할 수 있지만 해당 스레드에서 업데이트하려면 기본 GUI 스레드에있는 함수를 호출해야합니다. 처리를하고 있다면 별도로 처리하길 원하지만 미친 GUI 작업을하는 경우 비효율적 인 코드가있을 수 있습니다. –
관련 코드를 보여주세요! – TaW