private void EventHandler_OnMuteChanged(ServiceEventHandler sender, bool muted) { if (InvokeRequired) { Invoke((MethodInvoker)(() => this.EventHandler_OnMuteChanged(sender, muted))); return; } btnVolume.ImageIndex = muted ? 0 : volumeIconIndex; }
private void EventHandler_OnPlaybackChanged(ServiceEventHandler sender, bool playing) { if (InvokeRequired) { Invoke((MethodInvoker)(() => this.EventHandler_OnPlaybackChanged(sender, playing))); return; } btnPlay.ImageIndex = playing ? 1 : 0; }
private void EventHandler_OnVolumeChanged(ServiceEventHandler sender, int volume) { if (InvokeRequired) { Invoke((MethodInvoker)(() => this.EventHandler_OnVolumeChanged(sender, volume))); return; } // Remove the event handler for the value change and call it separately with a different sender // to avoid it sending the volume value back to the renderer and create a loop. tbVolume.ValueChanged -= tbVolume_ValueChanged; tbVolume.Value = volume; tbVolume_ValueChanged(this, EventArgs.Empty); tbVolume.ValueChanged += tbVolume_ValueChanged; }