在控件的MouseDown事件中,记录控件的当前位置和鼠标坐标,并设置一个标志变量表示进入拖动状态;在MouseMove事件中,判断如果当前是拖动状态,则根据鼠标的当前坐标和MouseDown时的坐标计算出移动量,更改控件位置;在MouseUp事件中清除标志变量。
公司主营业务:成都网站设计、网站制作、外贸营销网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出龙山免费做网站回馈大家。
控件是可以显示在里面的,你只要加个label,把label的属性设为visualble=fause就行。设置鼠标经过头像的mouseHover和mouseLeave事件,当mouseHover时label的属性visualble=true,当mouseLeave时label的属性visualble=fause即可。窗体的鼠标事件可以设置控件的cursor属性,里面可以选择许多种鼠标图形。 只要是正常的Form都可以改变窗体大小,但是无边框的窗体只能用函数改变或者设置属性,在debug后是不能改变的。拖动窗体需要在窗体的load时间里面写入当鼠标单击不放时的事件即可,不难。
VB.NET没写过,C#的倒是经常用,你看看能不能有所启发
void Creact() //创建4*5格=20个按钮的键盘
{
const int width=Convert.ToInt32(this.panel1.Width/20);
const int height=Convert.ToInt32(this.panel1.Width/25);
for(int i=1;i=5;i++)
{
for(int j=1;j=4;j++)
{
Button b=new Button();
b.Name="btn"+i.ToString()+j.ToString();
b.Left=40*j;
b.Top=30*i;
b..... //位置设置
b.Text=CortoEnglist(i+j+65);//转换字母键函数略写
...
//加入鼠标事件
b.MouseDown+=new MouseHandler(btn_mousedown);
b.MouseUp+=new MouseHandler(btn_mouseup);
b.MouseLeave+=new MouseHandler(btn_mouseleave);
b.MouseMove+=new MouseHandler(btn_mousemove);
this.panel1.Controls.Add(b)
}
}
}
public int Bealoon br=false; //判断是否按下全局变量
void btn_mousedown(object sender,MouseEventArgs e) //鼠标按下开始计算
{
br=true;
}
void btn_mouseleave(object sender,MouseEventArgs e) //鼠标移开就结束
{
br=false;
}
void btn_mouseup(object sender,MouseEventArgs e) //鼠标弹起也会结束
{
br=false; //跟移开不重复,你按下不松手去按另一个发现他就不会弹起,所以要加这个事件
}
void btn_mousemove(object sender,MouseEventArgs e) //按下状态拖动就有效
{
if(br==true)
{
((Button)sender).Left+=e.X;
((Button)sender).Top+=e.Y;
}
}这样我I就给一组按钮加了拖动状态
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款