C# 触发按钮单击事件时,如何使pictureBox可见并更新标签文本?

C# 触发按钮单击事件时,如何使pictureBox可见并更新标签文本?,c#,winforms,C#,Winforms,希望有人能帮助解决这个问题。我有一个登录表单,我想让用户知道,一旦点击提交按钮,应用程序正在处理他/她的请求。问题是我正在设置labe1.TEXT=“”和pictureBox2.Visible=false表单启动时,但我无法让程序将其设置回label.Text=“processing”和pictureBox2.Visible=true当用户单击提交按钮时 private void btnLogin_Click_1(object sender, EventArgs e) { AppDoma

希望有人能帮助解决这个问题。我有一个登录表单,我想让用户知道,一旦点击提交按钮,应用程序正在处理他/她的请求。问题是我正在设置
labe1.TEXT=“”
pictureBox2.Visible=false表单启动时,但我无法让程序将其设置回
label.Text=“processing”
pictureBox2.Visible=true当用户单击提交按钮时

private void btnLogin_Click_1(object sender, EventArgs e)
{
    AppDomain.CurrentDomain.SetData("DataDirectory", Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location));
    SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\store_close_localdb.mdf;Integrated Security=True;Connect Timeout=30");
    SqlDataAdapter sda = new SqlDataAdapter("Select Role from tblLogin where Username='" + tbUsername.Text + "' and Password='" + tbPassword.Text + "' ", con);
    DataTable dt = new DataTable();
    sda.Fill(dt);
    if (dt.Rows.Count == 1)
    {
        label2.Text ="Processing your login request, please wait...";
        pictureBox2.Visible = true;
        Application.DoEvents();
        pleasewait pw = new pleasewait();
        pw.Show();
    }
    else
    {
        label1.Text = "INCORRECT USERNAME OR PASSWORD :(";
    }
}

用户应该等待什么?因为在更新GUI之前,您正在隐藏窗口。注释'this.Hide();'然后看看会发生什么。@TaW用户应该等待“pw.Show();”出现。@apocapse我按照您的指示对这行进行了注释,但结果是一样的。图片盒和标签在第二个表单加载后显示。然后。。??(提示:如果您想从pw访问主fomr,您可以将其发送出去:pleasewait pw=new pleasewait(this);-然后它可以抓取它并在单击时再次显示它..另外请注意,show并不等待anthing。不过ShowDialog会等待。