GetContainerControl() public method

public GetContainerControl ( ) : IContainerControl
return IContainerControl
Example #1
0
 internal void FocusActiveControlInternal()
 {
     if (active_control != null && active_control.Visible)
     {
         // Avoid focus loops, especially with ComboBoxes, on Win98/ME.
         IntPtr focusHandle = XplatUI.GetFocus();
         if (focusHandle == IntPtr.Zero || Control.FromChildHandle(focusHandle) != active_control)
         {
             XplatUI.SetFocus(active_control.Handle);
         }
     }
     else
     {
         // Determine and focus closest visible parent
         ContainerControl cc = this;
         while (cc != null && !cc.Visible)
         {
             Control parent = cc.Parent;
             if (parent != null)
             {
                 cc = parent.GetContainerControl() as ContainerControl;
             }
             else
             {
                 break;
             }
         }
         if (cc != null && cc.Visible)
         {
             XplatUI.SetFocus(cc.Handle);
         }
     }
 }
Example #2
0
        private bool ActivateControlInternal(Control active)
        {
            bool             activated = true;
            bool             activate  = false;
            ContainerControl container;
            Control          parent = base.Parent;

            if (parent != null)
            {
                container = parent.GetContainerControl() as ContainerControl;
                if (container != null && container.ActiveControl != this)
                {
                    activate = true;
                    if (!container.ActivateControlInternal(this))
                    {
                        return(false);
                    }
                }
            }

            if (active != activeControl || activate)
            {
                if (active == this)
                {
                    activated = SetActiveControl(null);
                }
                else
                {
                    activated = SetActiveControl(active);
                }
            }
            return(activated);
        }
        private static void ExtractErrorProviders(Control control, ICollection<ErrorProvider> errorProviders)
        {
            //use reflection to get to "components" field
            var containerControl = control.GetContainerControl();
            if (containerControl != null)
            {
                FieldInfo componentField = containerControl.GetType()
                                               .GetField( "components", BindingFlags.NonPublic | BindingFlags.Instance );

                if (componentField != null)
                {
                    //get the component collection from field
                    object components = componentField.GetValue(containerControl);
                    if (components != null)
                    {
                        //locate the ErrorProvider within the collection
                        var container = components as IContainer;
                        if (container != null)
                        {
                            foreach (ErrorProvider provider in container.Components.OfType<ErrorProvider>())
                            {
                                if (!errorProviders.Contains( provider ))
                                    errorProviders.Add( provider );
                            }
                        }
                    }
                }
            }
        }
		public static object CallControlGetContainerControl(Control c, object[] obj)
		{
			return c.GetContainerControl();
		}
Example #5
0
 public static object CallControlGetContainerControl(Control c, object[] obj)
 {
     return(c.GetContainerControl());
 }
 protected virtual ErrorProvider GetErrorProvider(Control rootControl)
 {
     return new ErrorProvider { ContainerControl = rootControl.GetContainerControl() as ContainerControl };
 }
Example #7
0
		public void TestPublicMethods ()
		{
			// Public Methods that force Handle creation:
			// - CreateControl ()
			// - CreateGraphics ()
			// - GetChildAtPoint ()
			// - Invoke, BeginInvoke throws InvalidOperationException if Handle has not been created
			// - PointToClient ()
			// - PointToScreen ()
			// - RectangleToClient ()
			// - RectangleToScreen ()
			Control c = new Control ();
			
			c.BringToFront ();
			Assert.IsFalse (c.IsHandleCreated, "A1");
			c.Contains (new Control ());
			Assert.IsFalse (c.IsHandleCreated, "A2");
			c.CreateControl ();
			Assert.IsTrue (c.IsHandleCreated, "A3");
			c = new Control ();
			Graphics g = c.CreateGraphics ();
			g.Dispose ();
			Assert.IsTrue (c.IsHandleCreated, "A4");
			c = new Control ();
			c.Dispose ();
			Assert.IsFalse (c.IsHandleCreated, "A5");
			c = new Control ();
			//DragDropEffects d = c.DoDragDrop ("yo", DragDropEffects.None);
			//Assert.IsFalse (c.IsHandleCreated, "A6");
			//Assert.AreEqual (DragDropEffects.None, d, "A6b");
			//Bitmap b = new Bitmap (100, 100);
			//c.DrawToBitmap (b, new Rectangle (0, 0, 100, 100));
			//Assert.IsFalse (c.IsHandleCreated, "A7");
			//b.Dispose ();
			c.FindForm ();
			Assert.IsFalse (c.IsHandleCreated, "A8");
			c.Focus ();
			Assert.IsFalse (c.IsHandleCreated, "A9");

			c.GetChildAtPoint (new Point (10, 10));
			Assert.IsTrue (c.IsHandleCreated, "A10");
			c.GetContainerControl ();
			c = new Control ();
			Assert.IsFalse (c.IsHandleCreated, "A11");
			c.GetNextControl (new Control (), true);
			Assert.IsFalse (c.IsHandleCreated, "A12");
#if NET_2_0
			c.GetPreferredSize (Size.Empty);
			Assert.IsFalse (c.IsHandleCreated, "A13");
#endif
			c.Hide ();
			Assert.IsFalse (c.IsHandleCreated, "A14");
			c.Invalidate ();
			Assert.IsFalse (c.IsHandleCreated, "A15");
			//c.Invoke (new InvokeDelegate (InvokeMethod));
			//Assert.IsFalse (c.IsHandleCreated, "A16");
			c.PerformLayout ();
			Assert.IsFalse (c.IsHandleCreated, "A17");
			c.PointToClient (new Point (100, 100));
			Assert.IsTrue (c.IsHandleCreated, "A18");
			c = new Control ();
			c.PointToScreen (new Point (100, 100));
			Assert.IsTrue (c.IsHandleCreated, "A19");
			c = new Control ();
			//c.PreProcessControlMessage   ???
			//c.PreProcessMessage          ???
			c.RectangleToClient (new Rectangle (0, 0, 100, 100));
			Assert.IsTrue (c.IsHandleCreated, "A20");
			c = new Control ();
			c.RectangleToScreen (new Rectangle (0, 0, 100, 100));
			Assert.IsTrue (c.IsHandleCreated, "A21");
			c = new Control ();
			c.Refresh ();
			Assert.IsFalse (c.IsHandleCreated, "A22");
			c.ResetBackColor ();
			Assert.IsFalse (c.IsHandleCreated, "A23");
			c.ResetBindings ();
			Assert.IsFalse (c.IsHandleCreated, "A24");
			c.ResetCursor ();
			Assert.IsFalse (c.IsHandleCreated, "A25");
			c.ResetFont ();
			Assert.IsFalse (c.IsHandleCreated, "A26");
			c.ResetForeColor ();
			Assert.IsFalse (c.IsHandleCreated, "A27");
			c.ResetImeMode ();
			Assert.IsFalse (c.IsHandleCreated, "A28");
			c.ResetRightToLeft ();
			Assert.IsFalse (c.IsHandleCreated, "A29");
			c.ResetText ();
			Assert.IsFalse (c.IsHandleCreated, "A30");
			c.SuspendLayout ();
			Assert.IsFalse (c.IsHandleCreated, "A31");
			c.ResumeLayout ();
			Assert.IsFalse (c.IsHandleCreated, "A32");
#if NET_2_0
			c.Scale (new SizeF (1.5f, 1.5f));
			Assert.IsFalse (c.IsHandleCreated, "A33");
#endif
			c.Select ();
			Assert.IsFalse (c.IsHandleCreated, "A34");
			c.SelectNextControl (new Control (), true, true, true, true);
			Assert.IsFalse (c.IsHandleCreated, "A35");
			c.SetBounds (0, 0, 100, 100);
			Assert.IsFalse (c.IsHandleCreated, "A36");
			c.Update ();
			Assert.IsFalse (c.IsHandleCreated, "A37");
		}