以下是代码
using System.Windows.Forms;namespace test3
{
    public partial class F11 : Form
    {
        public F11()
        {
            InitializeComponent();
        }
        private void button1_MouseDown(object sender, MouseEventArgs e)
        {            button1.Parent = this;
            button1.BringToFront();        }
    }
}我大概知道问题出在哪里,应该是容器的边框存在某个非0的值,当我把按钮的父容器从当前panel改变为窗口后,坐标由相对于当前panel改为相对于窗口,而之前计入边框,现在不计入后,坐标自然往左上角移动。但我不知道具体该怎么解决这个问题。请问我该怎么获取这个边框值,或者把这个边框值改为0?

解决方案 »

  1.   

    panel的BorderStyle   None
      

  2.   

    谢谢,确实有用。但这样一来就看不见panel1和panel2的中间那根线了,这个该怎么解决?
      

  3.   

    谢谢,确实有用。但这样一来就看不见panel1和panel2的中间那根线了,这个该怎么解决?
    那按钮的xy减一个像素
      

  4.   

    谢谢,确实有用。但这样一来就看不见panel1和panel2的中间那根线了,这个该怎么解决?
    那按钮的xy减一个像素

    不太明白,这个跟按钮应该已经没关系了吧?之前我把panel设置的边框样式改成的3D,现在设置为none之后,就看不到panel本身的边框了。怎么才能既看得出这个边框,又能让按钮不怎么位移呢?
      

  5.   

    谢谢,确实有用。但这样一来就看不见panel1和panel2的中间那根线了,这个该怎么解决?
    那按钮的xy减一个像素

    不太明白,这个跟按钮应该已经没关系了吧?之前我把panel设置的边框样式改成的3D,现在设置为none之后,就看不到panel本身的边框了。怎么才能既看得出这个边框,又能让按钮不怎么位移呢?
    panel还原回来,按钮变xy