额..你需要弹出的是模式窗体....
新巴尔虎右网站建设公司创新互联,新巴尔虎右网站设计制作,有大型网站制作公司丰富经验。已为新巴尔虎右1000多家提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的新巴尔虎右做网站的公司定做!
弹出的时候用 Form2.Show 1 即可... 这里的 1 是 show的参数 - -|
这样弹出Form2后,Form2的调用者就会被禁用
Private Declare Function SetWindowPos Lib "user32" ( _
ByVal hwnd As Long, _
ByVal hWndInsertAfter As Long, _
ByVal x As Long, ByVal y As Long, _
ByVal cx As Long, ByVal cy As Long, _
ByVal wFlags As Long _
) As Long
Const HWND_TOPMOST = -1
Const SWP_SHOWWINDOW = H40
Private Sub Form_load()
Dim retValue As Long
'将窗体设置为处于所有窗口的顶层,注意在 VB 中运行时,可能不行,但编译成EXE后就可以了
retValue = SetWindowPos(Me.hwnd, HWND_TOPMOST, Me.CurrentX, Me.CurrentY, 300, 300, SWP_SHOWWINDOW)
End Sub
在你要点击的按钮里,定义一个新窗体的实例,然后用showdialog(),应该就可以吧
VisualStudio 2010中的vb.net
锁定边框:
代码输入Me.FormBorderStyle = Windows.Forms.FormBorderStyle.Fixed3D
或者在属性列表里设置FormBorderStyle 为Fixed3D
最大化不可用:
代码输入Me.MaximizeBox = False
或者在属性列表里设置MaximizeBox 为 False
有两种方法实现窗体固定大小
1)设置窗体的BorderStyle属性。如下图。将属性设置为图中红色框出的任意一个值即可实现窗体大小固定不变。
2)编程控制
如果将Form的BorderStyle设置为 2 - Sizeable,通过编程也可以实现窗体固定大小
Option Explicit
Dim frmWidth
Dim frmHeight
Private Sub Form_Load()
'窗体启动时,记录下窗体的宽度和高度
frmWidth = Me.Width
frmHeight = Me.Height
End Sub
Private Sub Form_Resize()
'用户改变窗体大小时,强制窗体大小固定为原始尺寸
'从而达到窗体大小固定目的!
On Error Resume Next
Me.Width = frmWidth
Me.Height = frmHeight
End Sub
实现方法如下:
1.引用命名空间
using System.Runtime.InteropServices;
2.声明如下变量:
public class Form1 : System.Windows.Forms.Form
{
//.....
[DllImport("user32.dll",EntryPoint="GetSystemMenu")]
extern static IntPtr GetSystemMenu(IntPtr hWnd, IntPtr bRevert);
[DllImport("user32.dll",EntryPoint="RemoveMenu")]
extern static int RemoveMenu(IntPtr hMenu, int nPos, int flags);
//.....
}
3.在Form的构造函数里加入代码
public Form1()
{
const int MF_BYPOSITION = 0x0400;
const int MF_REMOVE = 0x1000;
FormBorderStyle = FormBorderStyle.FixedSingle;
MaximizeBox = false;
MinimizeBox = false;
RemoveMenu(GetSystemMenu(Handle,IntPtr.Zero),1,MF_BYPOSITION |MF_REMOVE);
}
就OK啦