在Winform中,如果需要跨线程关闭窗体,可以使用以下方法:
public delegate void CloseFormDelegate();
public void CloseForm()
{
    if (this.InvokeRequired)
    {
        this.Invoke(new CloseFormDelegate(CloseForm));
    }
    else
    {
        this.Close();
    }
}
if (this.InvokeRequired)
{
    this.BeginInvoke(new Action(() => this.Close()));
}
else
{
    this.Close();
}
无论使用哪种方法,都可以确保在跨线程时安全地关闭窗体。