重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
简单的部分透明比较难做,不过可以换个方式考虑一下。
临漳网站建设公司成都创新互联公司,临漳网站设计制作,有大型网站制作公司丰富经验。已为临漳成百上千家提供企业网站建设服务。企业网站搭建\外贸网站制作要多少钱,请找那个售后服务好的临漳做网站的公司定做!
把本问题转换成在VB.NET 2005环境下创建不规则窗体(=普通窗体 - 透明部分)问题,解决方法就很多了,网上也有许多例子。如 章立民 的书里就详细讲过。
大致思路如下:
1。将backgroundimage设成一个位图(点阵图)
2.将Transparaencykey设成位图的背景颜色(位图最取背景单纯,单纯部分将成为透明部分)
3.如需要可以将formborderstyle设为none,会移除标题栏,并需要手动编写窗体移动、关闭等动作代码,
做一个窗体模板,假设是Form2
Dim x as New Form2
x.Show()
如果弹出窗口较多,x可以用动态数组替代
很简单,通过WindowsAPI,删除窗体菜单项就行了
首先在窗体类中声明API:
Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As IntPtr, ByVal bRevert As Boolean) As IntPtr
Declare Function RemoveMenu Lib "user32" (ByVal lngHmenu As IntPtr, ByVal nPosition As Integer, ByVal wFlags As Integer) As Integer
其次声明API参数常量:
Const MF_BYPOSITION As Integer = H400
然后在窗体类中写入过程:
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() '恢复窗体移动
Dim lngHwnd As IntPtr
Dim lngHmenu As IntPtr
lngHwnd = Me.Handle
If lngHwnd 0 Then
lngHmenu = GetSystemMenu(lngHwnd, True)
RemoveMenu(lngHmenu, 0, MF_BYPOSITION) '这里的0与禁止代码中的数值同步,原因时虽然表面上删除了菜单项,实则为隐藏了菜单项,各个菜单的索引值并没有变,所以0依然代表初始菜单的第一个菜单项,即被删除的那个菜单项
End If
End Sub
然后如果你的窗口菜单是动态变化的,建议声明常数:
Const MF_BYPOSITION As Integer = H0
然后使用相关的Windows功能的常数进行删除菜单。常数需要自行查看winuser.h头文件
如果找不到该头文件,可以看这里:网页链接
其余信息详见MSDN:网页链接
最后说一下,不建议前面网友说的重写WndProc的方法,因为这样拦截标题栏点击消息会导致窗体本身的菜单也无法显示出来,有损窗体功能,并且像双击左上角图标关闭窗体这样的功能也会跟着拦截消息的操作一起被吞掉。
Vb不是人机对话窗口,而是编程工具,可以编写代码进行调试执行或者生成可执行文件。
用Visual Studio .Net开发"Hello World!"程序:
我们知道"Hello World"一般是命令行程序,而这种程序在Visual Studio .Net中被称为"控制台程序"。下面是Visual Studio .Net编写控制台"Hello World!"程序的具体步骤:
(1)、启动Visual Studio .Net。
(2)、选择菜单【文件】|【新建】|【项目】后,弹出【新建项目】对话框。
(3)、将【项目类型】设置为【Visual Basic项目】。
(4)、将【模板】设置为【控制台应用程序】。
(5)、在【名称】文本框中输入【Hello World】。
(6)、在【位置】的文本框中输入【E:VS.NET项目】,然后单击【确定】按钮,则Visual Studio .Net会按照上面设定的参数创建一个控制台应用程序项目,具体如图01所示。
图01:"Hello World"控制台程序的【新建项目】界面
(7)、在【解决方案资源管理器】窗口中,双击Module1.vb文件,进入Module1.vb文件的编辑界面。
(8)、Visual Studio .Net已经为产生Main()函数。在系统创建的Main()函数中加入下面一行代码就可以了:
Console.WriteLine ("Hello World!")
(9)、选择【文件】|【保存Module1.vb】菜单或者按快捷键Ctrl+S,保存所做的修改。
(10)、此时单击快捷键Ctrl+F5运行程序就可以得到图02所示运行界面: