读书人

高手帮忙看段代码本人真的看不懂!该

发布时间: 2012-04-05 12:42:40 作者: rapoo

高手帮忙看段代码,本人真的看不懂!
private void Form1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
int border = 50;
int x = e.X;
int y = e.Y;
int left = btn_catchMe.Left;
int right = btn_catchMe.Right;
int top = btn_catchMe.Top;
int bottom = btn_catchMe.Bottom;

if( x > left - border && x < right + border && y > top - border && y < bottom + border)
{
btn_catchMe.Top += (y > top ? -20 : 20);
if(btn_catchMe.Top > Form1.ActiveForm.Size.Height || btn_catchMe.Bottom < 0)
{
btn_catchMe.Top = Form1.ActiveForm.Size.Height/2;
}
btn_catchMe.Left += (x > left ? -20 : 20);
if(btn_catchMe.Left > Form1.ActiveForm.Size.Width || btn_catchMe.Right < 0)
{
btn_catchMe.Left = Form1.ActiveForm.Size.Width/2;
}

}

这是什么意思啊,能分析清楚点吗? 谢谢了……

------解决方案--------------------


大概意思就是再Form1这个窗体里面,你鼠标移到哪里 btn_catchMe这个东西就跟倒哪里
[解决办法]
ls正确,大概就是移动btn_catchMe到鼠标的位置,而且保证btn_catchMe的不出Form的边界。
[解决办法]
BORDER是指按扭周边的border(50)宽度内也应有反应,
/2是指铵钮重新定位到窗体的大概中间位置吧,如果窗体大小不变,Form1.ActiveForm.Size.Height/2这个值是一个常量的.

读书人网 >C#

热点推荐