public void SetLoginButtonText(String Text) { // InvokeRequired required compares the thread ID of the // calling thread to the thread ID of the creating thread. // If these threads are different, it returns true. if (this.buttonLogin.InvokeRequired) { SetLoginButtonTextCallback d = new SetLoginButtonTextCallback(SetLoginButtonText); this.Invoke(d, new object[] { Text }); } else { // enable or disable the login button buttonLogin.Text = Text; } }