コード例 #1
0
        private void DrawGraph()
        {
            _debuggerOperations.ClearOutput();
            _drawingMode = DrawingMode.Redrawing;
            ThreadHelper.ThrowIfNotOnUIThread();

            if (_config == null || _debuggerOperations?.IsActive != true)
            {
                _drawingMode = DrawingMode.NotChanged;
                return;
            }

            var stopWatch = new Stopwatch();

            stopWatch.Start();

            var graph = _graphRenderer.RenderGraph(_config);

            stopWatch.Stop();
            var ts          = stopWatch.Elapsed;
            var elapsedTime = $"{ts.Hours:00}:{ts.Minutes:00}:{ts.Seconds:00}.{ts.Milliseconds / 10:00}";

            Debug.WriteLine($"total time {elapsedTime}");
            if (graph == null)
            {
                return;
            }
            GViewer viewer = new GViewer {
                Graph = graph, Dock = DockStyle.Fill
            };

            CreateForm();

            _form.SuspendLayout();
            _form.Controls.Clear();
            _form.Controls.Add(viewer);
            _form.ResumeLayout();
            if (!_form.Visible)
            {
                _form.Show();
            }

            //_form.Focused = false;
            _dispatcherTimer?.Stop();
            _drawingMode = DrawingMode.NotChanged;
        }