当前位置: 首页>>代码示例>>C#>>正文


C# Control.GetChildAtPoint方法代码示例

本文整理汇总了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;
 }
开发者ID:josejamilena,项目名称:Aerial-1,代码行数:7,代码来源:IgnoreMouseClickMessageFilter.cs

示例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);
 }
开发者ID:vineelkovvuri,项目名称:Detective-007,代码行数:7,代码来源:GetPassword.cs

示例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);
 }
开发者ID:FNKGino,项目名称:poderosa,代码行数:12,代码来源:WinFormsUtil.cs

示例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;
 }
开发者ID:UtrsSoftware,项目名称:ATMLWorkBench,代码行数:17,代码来源:UTRSFormUtilities.cs

示例5: CallControlGetChildAtPoint

		public static object CallControlGetChildAtPoint(Control c, object[] obj)
		{
			return c.GetChildAtPoint((Point)obj[0]);
		}
开发者ID:HosokawaKenchi,项目名称:powersdr-if-stage,代码行数:4,代码来源:invoke.cs

示例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");
//.........这里部分代码省略.........
开发者ID:nlhepler,项目名称:mono,代码行数:101,代码来源:ControlHandleTest.cs

示例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 ();
			}
		}
开发者ID:KonajuGames,项目名称:SharpLang,代码行数:65,代码来源:ControlTest.cs


注:本文中的System.Windows.Forms.Control.GetChildAtPoint方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。