다른 라인이 이 대상을 가지고 있기 때문에 이 대상에 접근할 수 없습니다. (회전)

1908 단어 c#학습wpf 학습
WPF:Dispatcher.Invoke 방법은 디스패치 라인을 만들어야만 디스패치 Object에 직접 접근할 수 있습니다.DispatcherObject를 만드는 스레드와 다른 스레드에서 DispatcherObject에 접근하려면 DispatcherObject와 연결된 Dispatcher에서 Invoke나 BeginInvoke를 호출하십시오.강제 스레드 보안이 필요한 DispatcherObject의 하위 클래스는 모든 공통 방법에서 VerifyAccess를 호출하여 스레드 보안을 강제할 수 있습니다.이렇게 하면 호출 루틴이 디스패치 Object를 만드는 루틴임을 보장할 수 있습니다.
코드:
  this.lbl.Dispatcher.Invoke(new Action(()=>{ this.lbl.Text = "this is a test!!!"; }));
this.lbl.Dispatcher.Invoke(new Action(()=>{ this.lbl.Text = "this is a test!!!"; }));
Winfrom:Control.이 컨트롤의 기본 창 핸들을 가진 라인에서 지정한 의뢰를 수행하는 Delegate 방법입니다.
코드:
this.lbl.Invoke(new Action(()=>{ this.lbl.Text = "this is a test!!!"; }));

public void theout(object source, System.Timers.ElapsedEventArgs e)
{
this.gcc1.Dispatcher.Invoke(
new Action(
delegate
{
if (this.gcc1.Offset < 1)
{
this.gcc1.Offset += 0.1;
}
else
{
this.gcc1.Offset = 0;
}
}
)
);
this.gcc2.Dispatcher.Invoke(
new Action(
delegate
{
if (this.gcc2.Offset < 1)
{
this.gcc2.Offset += 0.1;
}
else
{
this.gcc2.Offset = 0;
}
}
)
);
}

좋은 웹페이지 즐겨찾기