protected override void OnMouseCaptureChanged(EventArgs e) {
     base.OnMouseCaptureChanged(e);
     if (splitContainerMessageFilter != null)
     {
         Application.RemoveMessageFilter(splitContainerMessageFilter);
         splitContainerMessageFilter = null;
     }
 }
        /// <include file='doc\SplitContainer.uex' path='docs/doc[@for="SplitContainer.SplitEnd"]/*' />
        /// <devdoc>
        ///     Finishes the split movement.
        /// </devdoc>
        /// <internalonly/>
        private void SplitEnd(bool accept) {
            DrawSplitBar(DRAW_END);
            if (splitContainerMessageFilter != null)
            {
                Application.RemoveMessageFilter(splitContainerMessageFilter);    
                splitContainerMessageFilter = null;
            }

            if (accept) {
                ApplySplitterDistance();
                
            }
            else if (splitterDistance != initialSplitterDistance) {
                splitterClick = false;
                splitterDistance = SplitterDistanceInternal = initialSplitterDistance;
            }
            anchor = Point.Empty;

        }
 private void SplitEnd(bool accept)
 {
     this.DrawSplitBar(3);
     if (this.splitContainerMessageFilter != null)
     {
         Application.RemoveMessageFilter(this.splitContainerMessageFilter);
         this.splitContainerMessageFilter = null;
     }
     if (accept)
     {
         this.ApplySplitterDistance();
     }
     else if (this.splitterDistance != this.initialSplitterDistance)
     {
         this.splitterClick = false;
         this.splitterDistance = this.SplitterDistanceInternal = this.initialSplitterDistance;
     }
     this.anchor = Point.Empty;
 }
        /// <include file='doc\SplitContainer.uex' path='docs/doc[@for="SplitContainer.SplitBegin"]/*' />
        /// <devdoc>
        ///     Begins the splitter moving.
        /// </devdoc>
        /// <internalonly/>
        private void SplitBegin(int x, int y) {
            anchor = new Point(x, y);
            splitterDistance = GetSplitterDistance(x, y);
            initialSplitterDistance = splitterDistance;
            initialSplitterRectangle = SplitterRectangle;

            // SECREVIEW : We need a message filter to capture the ESC key
            //           to cancel the split action.
            //           The method PreFilterMessage is adorned with a LinkDemand.
            //           But this is not enough since this is a public unsealed class.
            //           We should have private implementation of the IMessageFilter 
            //           So that we dont expose this to the classed deriving from this public class
            //           Refer to VsWhidbey : 423553 for more information.
            IntSecurity.UnmanagedCode.Assert();
            try {
                if (splitContainerMessageFilter == null)
                {
                   splitContainerMessageFilter = new SplitContainerMessageFilter(this);
                }
                Application.AddMessageFilter(splitContainerMessageFilter);
            }
            finally {
                CodeAccessPermission.RevertAssert();
            }
            CaptureInternal = true;
            DrawSplitBar(DRAW_START);
        }
 private void SplitBegin(int x, int y)
 {
     this.anchor = new Point(x, y);
     this.splitterDistance = this.GetSplitterDistance(x, y);
     this.initialSplitterDistance = this.splitterDistance;
     this.initialSplitterRectangle = this.SplitterRectangle;
     System.Windows.Forms.IntSecurity.UnmanagedCode.Assert();
     try
     {
         if (this.splitContainerMessageFilter == null)
         {
             this.splitContainerMessageFilter = new SplitContainerMessageFilter(this);
         }
         Application.AddMessageFilter(this.splitContainerMessageFilter);
     }
     finally
     {
         CodeAccessPermission.RevertAssert();
     }
     base.CaptureInternal = true;
     this.DrawSplitBar(1);
 }