黄线显示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);
}
结果是:
在pictureBox1绘制事件和menuStrip1绘制事件中,我用红色绿色和黄色绘制了它们所呈现的线条:宽度或高度或左或右或顶部或底部?我画了红线手册也是绿色和黄色,但我怎么知道底线是底部还是右边或左边?
答案 0 :(得分:-1)
如果你想计算两个对象之间的空间逻辑很简单你必须访问它的y位置对象然后在两个位置之间进行划分picturebox.y - menustrip.y
我刚刚为你编写了简单的代码
int x = menuStrip1.Location.Y;
int p = pictureBox1.Location.Y;
int result = p - x;
MessageBox.Show(result.ToString());
我刚刚测试了这些代码并且运行良好的好运好友