예제 #1
0
        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);
            }
        }