网站首页 > 文章中心 > 其它

vb.net拖动

作者:小编 更新时间:2023-09-20 07:50:00 浏览量:9人看过

VB.net怎么实现运行时鼠标拖动改变控件的大小啊

控件是可以显示在里面的,你只要加个label,把label的属性设为visualble=fause就行.设置鼠标经过头像的mouseHover和mouseLeave事件,当mouseHover时label的属性visualble=true,当mouseLeave时label的属性visualble=fause即可.窗体的鼠标事件可以设置控件的cursor属性,里面可以选择许多种鼠标图形. 只要是正常的Form都可以改变窗体大小,但是无边框的窗体只能用函数改变或者设置属性,在debug后是不能改变的.拖动窗体需要在窗体的load时间里面写入当鼠标单击不放时的事件即可,不难.

VB.NET怎么可以限制窗体不能被鼠标随便拖动位置

很简单,通过WindowsAPI,删除窗体菜单项就行了

首先在窗体类中声明API:

其次声明API参数常量:

然后在窗体类中写入过程:

Private Sub UserForm_Initialize_stopmove() '禁止窗体移动

? ? Dim lngHwnd As IntPtr

? ? Dim lngHmenu As IntPtr

? ? lngHwnd = Me.Handle

? ? If lngHwnd 0 Then

? ? ? ? lngHmenu = GetSystemMenu(lngHwnd, False)

? ? ? ? RemoveMenu(lngHmenu, 0, MF_BYPOSITION) '这里的0代表菜单中从上往下数第一个菜单项

? ? End If

End Sub

Private Sub UserForm_Initialize_onmove() '恢复窗体移动

? ? ? ? lngHmenu = GetSystemMenu(lngHwnd, True)

RemoveMenu(lngHmenu, 0, MF_BYPOSITION) '这里的0与禁止代码中的数值同步,原因时虽然表面上删除了菜单项,实则为隐藏了菜单项,各个菜单的索引值并没有变,所以0依然代表初始菜单的第一个菜单项,即被删除的那个菜单项

然后如果你的窗口菜单是动态变化的,建议声明常数:

Const MF_BYPOSITION As Integer = H0

然后使用相关的Windows功能的常数进行删除菜单.常数需要自行查看winuser.h头文件

如果找不到该头文件,可以看这里:网页链接

其余信息详见MSDN:网页链接

VB.net怎么实现控件拖动的时候显示里面的内容?

在控件的MouseDown事件中,记录控件的当前位置和鼠标坐标,并设置一个标志变量表示进入拖动状态;在MouseMove事件中,判断如果当前是拖动状态,则根据鼠标的当前坐标和MouseDown时的坐标计算出移动量,更改控件位置;在MouseUp事件中清除标志变量.

vb.net 如何拖动文件打开exe文件

可以直接拖吧,拖动文件到exe文件上,exe文件就会自动打开.command接收拖动的文件路径.

vb.net 动态控件如何实现拖动功能

VB.NET没写过,C#的倒是经常用,你看看能不能有所启发

{

Button?b=new?Button();

b.Name="btn"◆i.ToString()◆j.ToString();

b.....?//位置设置

...

//加入鼠标事件

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就给一组按钮加了拖动状态

以上就是土嘎嘎小编为大家整理的vb.net拖动相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章