protected override void OnCreateControl() { base.OnCreateControl(); if (!DesignMode) { if (ScaleFactor != 1.0f) { Scale(new SizeF(ScaleFactor, ScaleFactor)); } var currentScreenScaleFactor = DpiHelper.GetScaleFactorForCurrentWindow(Handle); var primaryScreenScaleFactor = DpiHelper.GetScreenDpi(Screen.PrimaryScreen) / 96f; if (primaryScreenScaleFactor != 1.0f) { Font = new Font(Font.FontFamily, (float)Math.Round(Font.Size / primaryScreenScaleFactor), Font.Style); } Font = new Font(Font.FontFamily, (float)Math.Round(Font.Size * currentScreenScaleFactor), Font.Style); CorrectFormPostion(); } _isLoaded = true; }
public void StartDrawing(List <Point> startPoints) { if (_settingsChanged) { _settingsChanged = false; InitializeForm(); } if (_penWidth <= 0) { return; } ClearSurfaces(); //follow dynamic system color _drawingPen.Color = AppConfig.VisualFeedbackColor; _drawingPen.Width = _penWidth * DpiHelper.GetScreenDpi(startPoints.FirstOrDefault()) / 96f; }