📄 wroxstyleconverter.vb
字号:
Imports System
Imports System.IO
Imports System.Web.UI
Imports System.Web.UI.Design
Imports System.Web.UI.WebControls
Imports System.ComponentModel
Imports System.ComponentModel.Design
Imports System.Collections
Namespace WroxDesignVB.Design
Public Class WroxStylerConverter : Inherits TypeConverter
Private _stylers As ArrayList = New ArrayList()
Private WithEvents svc As IComponentChangeService
Public Sub New()
End Sub
Public Overloads Overrides Function GetStandardValuesSupported( _
ByVal context As ITypeDescriptorContext) As Boolean
If Not (_stylers.Contains(context.Instance)) Then
_stylers.Add(context.Instance)
Return True
End If
End Function
Public Overloads Overrides Function GetStandardValuesExclusive( _
ByVal context As ITypeDescriptorContext) As Boolean
Return True
End Function
Public Overloads Overrides Function GetStandardValues( _
ByVal context As ITypeDescriptorContext) As StandardValuesCollection
Dim list As System.Collections.ArrayList = New System.Collections.ArrayList()
Dim comp As IComponent
For Each comp In context.Container.Components
If (TypeOf (comp) Is WroxButton) Then list.Add(CType(comp, WroxButton).ID)
Next
svc = CType(context.GetService(GetType(IComponentChangeService)), IComponentChangeService)
Return New StandardValuesCollection(list)
End Function
Private Sub OnRemove(ByVal sender As Object, ByVal e As ComponentEventArgs) Handles svc.ComponentRemoved
If (_stylers.Contains(e.Component)) Then _
_stylers.Remove(e.Component)
End Sub
Private Sub OnRename(ByVal sender As Object, ByVal e As ComponentRenameEventArgs) Handles svc.ComponentRename
If (TypeOf (e.Component) Is WroxButton) Then
Dim st As WroxStyler
For Each st In _stylers
If (e.OldName = st.RelatedButtonID) Then _
TypeDescriptor.GetProperties(st).Item("RelatedButtonID").SetValue(st, e.NewName)
Next
End If
End Sub
End Class
End Namespace
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -