Windows窗体冻结show()

时间:2016-12-24 10:40:15

标签: c# winforms freeze

我的Windows窗体有问题。它是一个非常基本的窗体,从一个单独的类中调用。它有1个按钮和1个文本字段。它需要一个客户端的参数

var form = new Form1(client);

form.Show();

Form1代码:

public partial class Form1 : Form
{
    private DiscordClient client;

    public Form1(DiscordClient client)
    {
        this.client = client;

        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        var usernameToKick = username.Text;

        var userToKick = client.Servers.FirstOrDefault().Users.Where(input => input.Name == usernameToKick).FirstOrDefault();

        userToKick.Kick();
    }

    private void username_TextChanged(object sender, EventArgs e)
    {

    }
}

这会冻结我的表格大约30秒,然后表格再次关闭。 为什么会这样?

1 个答案:

答案 0 :(得分:-1)

Form form;


form = new Form1(client, e);

            var thread = new Thread(OpenAdminPanel);

            thread.SetApartmentState(ApartmentState.STA);
            thread.Start();


private void OpenAdminPanel()
    {
        Application.Run(AdminPanel);
    }