private void actionButton_Click(object sender, EventArgs e) { if (currentProvider == null) { return; } if (currentProvider.IsListening) { currentProvider.Cancel(); } else if (currentProvider.IsConnected) { currentProvider.Disconnect(); } else { try { currentProvider.ListenAsync(ListenAsyncCallback); } catch (Exception ex) { // swallow } } UpdateControlState(); }