本文整理汇总了C#中System.Windows.Forms.Control.GetChildAtPoint方法的典型用法代码示例。如果您正苦于以下问题:C# Control.GetChildAtPoint方法的具体用法?C# Control.GetChildAtPoint怎么用?C# Control.GetChildAtPoint使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Forms.Control
的用法示例。
在下文中一共展示了Control.GetChildAtPoint方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: WasNotClickedOnTarget
private bool WasNotClickedOnTarget(Control parent, Control target)
{
Control clickedOn = parent.GetChildAtPoint(Cursor.Position);
if (IsNull(clickedOn)) return true;
if (AreEqual(clickedOn, target)) return false;
return true;
}
示例2: FindControl
private Control FindControl(Control parent, Point p)
{
Control c = parent.GetChildAtPoint(p);
if (c == null) return parent;
p = new Point(p.X - c.Location.X, p.Y - c.Location.Y);
return FindControl(c, p);
}
示例3: FindTopControl
public static Control FindTopControl(Control parent, Point screen_pt)
{
Control c = parent.GetChildAtPoint(parent.PointToClient(screen_pt));
if (c == null) {
if (parent.RectangleToScreen(new Rectangle(0, 0, parent.Width, parent.Height)).Contains(screen_pt))
return parent;
else
return null;
}
else
return FindTopControl(c, screen_pt);
}
示例4: GetVisibleChildAtDesktopPoint
private static Control GetVisibleChildAtDesktopPoint( Control topControl, Point desktopPoint )
{
Control foundControl = topControl.GetChildAtPoint( topControl.PointToClient( desktopPoint ) );
if (foundControl != null)
{
if (foundControl.HasChildren)
{
foreach (Control control in foundControl.Controls)
{
foundControl = GetVisibleChildAtDesktopPoint(control, desktopPoint);
if (foundControl != null && foundControl.Visible)
break;
}
}
}
return foundControl ?? topControl;
}
示例5: CallControlGetChildAtPoint
public static object CallControlGetChildAtPoint(Control c, object[] obj)
{
return c.GetChildAtPoint((Point)obj[0]);
}
示例6: TestPublicMethods
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");
//.........这里部分代码省略.........
示例7: GetChildAtPointTest
public void GetChildAtPointTest ()
{
Control c = null, d = null;
TransparentControl e = null;
try {
c = new Control ();
c.Name = "c1";
c.SetBounds (0, 0, 100, 100);
d = new Control ();
d.Name = "d1";
d.SetBounds (10, 10, 40, 40);
c.Controls.Add (d);
e = new TransparentControl ();
e.Name = "e1";
e.SetBounds (55, 55, 10, 10);
Control l = c.GetChildAtPoint (new Point (15, 15));
Assert.AreEqual (d.Name, l.Name, "Child1");
Assert.IsFalse (e.Name == l.Name, "Child2");
l = c.GetChildAtPoint (new Point (57, 57));
Assert.AreEqual (null, l, "Child3");
l = c.GetChildAtPoint (new Point (10, 10));
Assert.AreEqual (d.Name, l.Name, "Child4");
// GetChildAtPointSkip is not implemented and the following test is breaking for Net_2_0 profile
#if NET_2_0
c.Controls.Add (e);
e.Visible = false;
l = c.GetChildAtPoint (new Point (57, 57), GetChildAtPointSkip.Invisible);
Assert.IsNull (l, "Child5");
e.Visible = true;
l = c.GetChildAtPoint (new Point (57, 57), GetChildAtPointSkip.Invisible);
Assert.AreSame (e.Name, l.Name, "Child6");
e.Enabled = false;
l = c.GetChildAtPoint (new Point (57, 57), GetChildAtPointSkip.Disabled);
Assert.IsNull (l, "Child7");
e.Enabled = true;
l = c.GetChildAtPoint (new Point (57, 57), GetChildAtPointSkip.Disabled);
Assert.AreSame (e.Name, l.Name, "Child8");
e.BackColor = Color.Transparent;
l = c.GetChildAtPoint (new Point (57, 57), GetChildAtPointSkip.Transparent);
Assert.IsNull (l, "Child9");
e.BackColor = Color.Green;
l = c.GetChildAtPoint (new Point (57, 57), GetChildAtPointSkip.Transparent);
Assert.AreSame (e.Name, l.Name, "Child10");
#endif // NET_2_0
} finally {
if (c != null)
c.Dispose ();
if (d != null)
d.Dispose ();
}
}