/// <summary> /// Send change address now. /// </summary> private void cmdChange_Click(object sender, System.EventArgs e) { Busy = true; var newAddress = (byte)upAddress.Value; var newSubAddress = (byte)upSubAddress.Value; lbStatus.Text = "Changing address..."; upAddress.Enabled = false; upSubAddress.Enabled = false; cmdChange.Enabled = false; lb.BeginRequest( x => programmer.ChangeAddress(x, newAddress, newSubAddress), x => { upAddress.Enabled = false; upSubAddress.Enabled = false; cmdChange.Enabled = true; Busy = false; if (x.HasError) { lbStatus.Text = "Changing address failed."; MessageBox.Show(x.Error.Message); } else { lbStatus.Text = "Changing address succeeded. Reset the LocoIO."; } }); }