From a6b6c376acf13a14d9e4a096ac5b38eef29d6400 Mon Sep 17 00:00:00 2001 From: Robin Date: Sun, 20 Sep 2015 11:57:27 +0100 Subject: [PATCH] Fixed splitter overlays not sizing correctly --- DarkUI/Docking/DarkDockRegion.cs | 11 ++++++----- DarkUI/Docking/Items/DarkDockSplitter.cs | 16 +++++++++------- DarkUI/Forms/DarkTranslucentForm.cs | 3 ++- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/DarkUI/Docking/DarkDockRegion.cs b/DarkUI/Docking/DarkDockRegion.cs index c5710b5..bd1a3c1 100644 --- a/DarkUI/Docking/DarkDockRegion.cs +++ b/DarkUI/Docking/DarkDockRegion.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Windows.Forms; @@ -131,10 +132,10 @@ namespace DarkUI { group.SendToBack(); - if (_groups.IsLast(group)) - group.Dock = dockStyle; - else + if (_groups.IsFirst(group)) group.Dock = DockStyle.Fill; + else + group.Dock = dockStyle; } } } @@ -200,7 +201,7 @@ namespace DarkUI _parentForm.ResizeEnd += ParentForm_ResizeEnd; } - private void ParentForm_ResizeEnd(object sender, System.EventArgs e) + private void ParentForm_ResizeEnd(object sender, EventArgs e) { if (_splitter != null) _splitter.UpdateBounds(); diff --git a/DarkUI/Docking/Items/DarkDockSplitter.cs b/DarkUI/Docking/Items/DarkDockSplitter.cs index 472a460..6a337e7 100644 --- a/DarkUI/Docking/Items/DarkDockSplitter.cs +++ b/DarkUI/Docking/Items/DarkDockSplitter.cs @@ -10,7 +10,11 @@ namespace DarkUI private Control _parentControl; private Control _control; + private DarkSplitterType _splitterType; + + private int _minimum; + private int _maximum; private DarkTranslucentForm _overlayForm; #endregion @@ -30,7 +34,6 @@ namespace DarkUI _parentControl = parentControl; _control = control; _splitterType = splitterType; - _overlayForm = new DarkTranslucentForm(Color.Black); switch (_splitterType) { @@ -51,15 +54,15 @@ namespace DarkUI public void ShowOverlay() { - UpdateOverlay(new Point(0, 0)); + _overlayForm = new DarkTranslucentForm(Color.Black); + _overlayForm.Visible = true; - _overlayForm.Show(); - _overlayForm.BringToFront(); + UpdateOverlay(new Point(0, 0)); } public void HideOverlay() { - _overlayForm.Hide(); + _overlayForm.Visible = false; } public void UpdateOverlay(Point difference) @@ -82,8 +85,7 @@ namespace DarkUI break; } - _overlayForm.Location = bounds.Location; - _overlayForm.Size = bounds.Size; + _overlayForm.Bounds = bounds; } public void Move(Point difference) diff --git a/DarkUI/Forms/DarkTranslucentForm.cs b/DarkUI/Forms/DarkTranslucentForm.cs index 48fce7e..ac4d7d5 100644 --- a/DarkUI/Forms/DarkTranslucentForm.cs +++ b/DarkUI/Forms/DarkTranslucentForm.cs @@ -18,8 +18,9 @@ namespace DarkUI public DarkTranslucentForm(Color backColor, double opacity = 0.6) { + StartPosition = FormStartPosition.Manual; FormBorderStyle = FormBorderStyle.None; - Size = new Size(0, 0); + Size = new Size(1, 1); ShowInTaskbar = false; AllowTransparency = true; Opacity = opacity;