.Net中vb6.0帧控制的等价性是什么?面板或组框?
我记得在vb6.0中使用frame并禁用它(frame1.Enabled = False)并没有改变其中控件的前色。
答案 0 :(得分:4)
你看过System.Windows.Forms.GroupBox
吗?
This page可能对您有用。它解释了从VB6 Frame
控件到较新的.NET控件的转换。
答案 1 :(得分:1)
在禁用控件时,如果禁止控件显示为禁用,则被视为可用性。没有什么比看到用户敲击鼠标按钮试图让程序做她认为可能做的事情。
Windows窗体不支持它,但你可以伪造它。您可以显示已启用控件的图像,与已禁用的控件重叠。在项目中添加一个新类并粘贴下面显示的代码。编译。将控件从工具箱顶部拖放到表单上并向其添加控件。通过按钮切换Enabled属性来尝试。
Public Class MyPanel
Inherits Panel
Private mFakeIt As PictureBox
Public Shadows Property Enabled() As Boolean
Get
Return MyBase.Enabled
End Get
Set(ByVal value As Boolean)
If value Then
If mFakeIt IsNot Nothing Then mFakeIt.Dispose()
mFakeIt = Nothing
Else
mFakeIt = new PictureBox()
mFakeIt.Size = Size
mFakeIt.Location = Location
Dim bmp = new Bitmap(Width, Height)
Me.DrawToBitmap(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height))
mFakeIt.Image = bmp
Me.Parent.Controls.Add(mFakeIt)
Me.Parent.Controls.SetChildIndex(mFakeIt, 0)
End If
MyBase.Enabled = value
End Set
End Property
End Class
请不要使用它。