스레딩을 사용하려고하는데 GUI 컨트롤러가 포함되어 있으므로 해당 컨트롤러를 호출해야하지만이 문제가 있습니다.이 코드 부분에서 비 대리자 형식을 호출 할 수 없습니다 이 반면에 작업하는 동안비 대리자 형식을 호출 할 수 없습니다
if (toolStripTextBox1.Text != "")
{
if (RT[j].tabvalue.ToString() == tabControl1.Invoke(() =>
{ tabControl1.SelectedTab.Name; }))
{
RT[j].RitchT.Text = getH.getHtmlCode(toolStripTextBox1.Text);
}
}
tabControl1.Invoke(
() => { tabControl1.TabPages[R.RitchT.Name].Controls.Add(R.RitchT);
});
이것은 호출 클래스
public static class ControlExtensions
{
public static void Invoke(this Control control, Action action)
{
if (control.InvokeRequired)
control.Invoke(new MethodInvoker(action), null);
else
action.Invoke();
}
}
에게 있습니다
어떻게 해결할 수 있습니까?
이 줄에서 달성하고자하는 것 -'tabControl1.SelectedTab.Name'? –
그냥 탭 이름을 반환하고 그것을 사용하여 if 문에서 무언가를 검사합니다. –
컴파일되지 않습니다. 해답 대신 Hans Passant가 지정한대로'Func'을 사용해야합니다. –