private void btn_trace_status_Click(object sender, EventArgs e) { try { if (btn_trace_status.Text == @"Enable trace") { // Saves settings trace.TraceEnabled = true; trace.TraceCallStack = cb_trace_callstack.Checked; // Saves settings trace.ApplyChanges(); // Updates button label and icon btn_trace_status.Text = @"Disable trace"; using (Stream myStream = currentAssembly.GetManifestResourceStream("Dynamics365Tracer.Images.bullet_green.png")) { // ReSharper disable once AssignNullToNotNullAttribute btn_trace_status.Image = new Bitmap(myStream); } // Disables other groupboxes btn_trace_cleandirectory.Enabled = false; btn_trace_zipfiles.Enabled = false; } else { // Stops trace trace.TraceEnabled = false; // Saves settings trace.ApplyChanges(); // Updates button label and icon btn_trace_status.Text = @"Enable trace"; using (Stream myStream = currentAssembly.GetManifestResourceStream("Dynamics365Tracer.Images.bullet_red.png")) { // ReSharper disable once AssignNullToNotNullAttribute btn_trace_status.Image = new Bitmap(myStream); } // Enables other groupboxes btn_trace_cleandirectory.Enabled = true; btn_trace_zipfiles.Enabled = true; } } catch (Exception error) { MessageBox.Show(this, $@"An error occured while setting the trace on: {error.Message} Try to restart this application with elevated privileges", @"Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }