2014-10-05 51 views
-1

黄线显示menuStrip1控件的下边框。我怎样才能找到黄线和绿线之间的距离?

绿色呈现pictureBox1控件的顶部。

我想计算两个控件之间的空间(与两行黄色和绿色之间的空间相同)。

这是我在pictureBox1油漆事件所做的:

private void pictureBox1_Paint(object sender, PaintEventArgs e) 
     { 
      int distance; 
      float penWidth = 15F; 
      Pen myPen = new Pen(Brushes.Green, (int)penWidth); 
      Pen myPen1 = new Pen(Brushes.Red, (int)penWidth); 
      e.Graphics.DrawRectangle(myPen, 0, 0, pictureBox1.Width - 1, pictureBox1.Height - 1); 
      e.Graphics.DrawLine(myPen1, 0, pictureBox1.Height, pictureBox1.Width, pictureBox1.Height); 
      e.Graphics.DrawLine(myPen1, 0,0,0,pictureBox1.Height); 
      e.Graphics.DrawLine(myPen1, pictureBox1.Width, 0, pictureBox1.Width, pictureBox1.Height); 
      distance = menuStrip1.Height - pictureBox1.Height; 
     } 

这是menuStrip1漆事件:

private void menuStrip1_Paint(object sender, PaintEventArgs e) 
     { 
      float penWidth = 15F; 
      Pen myPen1 = new Pen(Brushes.Yellow, (int)penWidth); 
      e.Graphics.DrawLine(myPen1, 0, menuStrip1.Height, menuStrip1.Width, menuStrip1.Height); 
     } 

结果是:

Yellow-Green

而且在pictureBox1绘画事件和menuStrip1 paint e中通过我以红色绿色和黄色绘制的线条排出线条:宽度或高度或左或右或顶部或底部?我画了红线手册也绿色和黄色,但我怎么知道底线是底部,什么是正确的或离开?

如果你希望两个对象之间的逻辑来计算空间
+1

两个控件之间的距离是:'PictureBox1.Top - MenuStrip1.Bottom'。你在找什么不同的东西? – 2014-10-05 03:42:53

回答

-1

很简单,你必须访问它的两个对象的y位置,然后做之间的两个位置picturebox.y师 - menustrip.y

我刚才写的简单只为你

 int x = menuStrip1.Location.Y; 
     int p = pictureBox1.Location.Y; 
     int result = p - x; 
     MessageBox.Show(result.ToString()); 

我只是测试了这些代码,只是代码工作正常,运气好哥们