From c39423edd0ef887a51141dd645e013bd4d8b75fa Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Thu, 27 Jul 2006 04:18:11 +0000 Subject: [PATCH] * UpDownBase.cs: When the control is selected make the child controls non selectable, so that a click on them won't do a focus/unfocus cycle. - Don't give focus to the text box when the spinner is selected. svn path=/trunk/mcs/; revision=63029 --- .../System.Windows.Forms/ChangeLog | 7 +++++++ .../System.Windows.Forms/UpDownBase.cs | 19 +++++++++++++++---- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog b/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog index ecfde8b1e4e..8f98ff78c72 100644 --- a/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog +++ b/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog @@ -1,3 +1,10 @@ +2006-07-26 Jackson Harper + + * UpDownBase.cs: When the control is selected make the child + controls non selectable, so that a click on them won't do a + focus/unfocus cycle. + - Don't give focus to the text box when the spinner is selected. + 2006-07-26 Chris Toshok * ThemeWin32Classic.cs: add print preview rendering. I'm not diff --git a/mcs/class/Managed.Windows.Forms/System.Windows.Forms/UpDownBase.cs b/mcs/class/Managed.Windows.Forms/System.Windows.Forms/UpDownBase.cs index 53db7bbe6af..8b430aa21a4 100644 --- a/mcs/class/Managed.Windows.Forms/System.Windows.Forms/UpDownBase.cs +++ b/mcs/class/Managed.Windows.Forms/System.Windows.Forms/UpDownBase.cs @@ -65,7 +65,6 @@ namespace System.Windows.Forms this.SetStyle(ControlStyles.Opaque, true); this.SetStyle(ControlStyles.ResizeRedraw, true); this.SetStyle(ControlStyles.UserPaint, true); - this.SetStyle(ControlStyles.Selectable, false); this.SetStyle(ControlStyles.FixedHeight, true); tmrRepeat = new Timer(); @@ -138,8 +137,6 @@ namespace System.Windows.Forms #region Protected Instance Methods protected override void OnMouseDown(MouseEventArgs e) { - this.Select(owner.txtView); - if (e.Button != MouseButtons.Left) { return; } @@ -225,6 +222,11 @@ namespace System.Windows.Forms #endregion // Protected Instance Methods + internal void SetSelectable (bool selectable) + { + SetStyle (ControlStyles.Selectable, selectable); + } + internal override void OnGotFocusInternal (EventArgs e) { owner.Select (false, true); @@ -233,7 +235,7 @@ namespace System.Windows.Forms internal override void OnLostFocusInternal (EventArgs e) { owner.Select (false, true); - } + } } #endregion // UpDownSpinner Sub-class @@ -248,6 +250,11 @@ namespace System.Windows.Forms SetStyle (ControlStyles.FixedWidth, false); } + internal void SetSelectable (bool selectable) + { + SetStyle (ControlStyles.Selectable, selectable); + } + internal void ActivateCaret (bool active) { if (active) @@ -363,12 +370,16 @@ namespace System.Windows.Forms { base.OnGotFocusInternal (e); txtView.ActivateCaret (true); + txtView.SetSelectable (false); + spnSpinner.SetSelectable (false); } internal override void OnLostFocusInternal (EventArgs e) { base.OnLostFocusInternal (e); txtView.ActivateCaret (false); + txtView.SetSelectable (true); + spnSpinner.SetSelectable (true); } #endregion // Private Methods -- 2.11.4.GIT