我们所使用的编译器里面有很多可以弹出来的小窗口,也可以拖动,比如属性,工程等,这是如何实现的呢?
其实他们主要是使用了一个叫做TopLevel的隐藏属性。下面就是详细的操作步骤
第一步,就是按照下面的方法把 相应的代码写上,会发现少了TopLevel 属性,编译不过。
代码如下:写在Button的Click中就可以的
Dim myForm As New Form4
myForm.Text = "My Form"
myForm.SetBounds(10, 10, 200, 200)
myForm.FormBorderStyle = FormBorderStyle.FixedToolWindow
myForm.TopLevel = False
myForm.Show()
Me.Panel1.Controls.Add(myForm)
第二步 就是实现 TopLevel, 因为 TopLevel 本身就是Form类的一个属性,只不过被封起来了
实现代码如下
Public Shadows Property TopLevel() As Boolean
Get
Return MyBase.TopLevel
End Get
Set(ByVal Value As Boolean)
MyBase.TopLevel = Value
End Set
End Property
注意:这段代码需要写在[Region " Windows 窗体设计器生成的代码 "]部分
然后编译:通过,
运行:成功了