61 lines
2.0 KiB
VB.net
61 lines
2.0 KiB
VB.net
Imports System.ComponentModel
|
|
Imports System.Drawing.Design
|
|
Imports System.Windows.Forms
|
|
Imports System.Windows.Forms.Design
|
|
|
|
Public Class ClassSQLEditor
|
|
Inherits UITypeEditor
|
|
|
|
Public Overrides Function GetEditStyle(context As ITypeDescriptorContext) As UITypeEditorEditStyle
|
|
'Return MyBase.GetEditStyle(context)
|
|
Return UITypeEditorEditStyle.Modal
|
|
End Function
|
|
|
|
Public Overrides Function EditValue(context As ITypeDescriptorContext, provider As IServiceProvider, value As Object) As Object
|
|
'Return MyBase.EditValue(context, provider, value)
|
|
Dim svc As IWindowsFormsEditorService = TryCast(provider.GetService(GetType(IWindowsFormsEditorService)), IWindowsFormsEditorService)
|
|
Dim SQLSTring As String = DirectCast(value, SQLValue).Value
|
|
|
|
If svc IsNot Nothing AndAlso SQLSTring IsNot Nothing Then
|
|
Using Form As New frmSQLEditor()
|
|
Form.Value = SQLSTring
|
|
|
|
If svc.ShowDialog(Form) = DialogResult.OK Then
|
|
Dim sql As New SQLValue(Form.Value)
|
|
value = sql
|
|
End If
|
|
End Using
|
|
End If
|
|
|
|
Return value
|
|
End Function
|
|
End Class
|
|
|
|
<Editor(GetType(ClassSQLEditor), GetType(UITypeEditor))> _
|
|
<TypeConverter(GetType(SQLTypeConverter))> _
|
|
Public Class SQLValue
|
|
Private _value As String
|
|
|
|
Public Sub New(value As String)
|
|
Me.Value = value
|
|
End Sub
|
|
|
|
Public Property Value As String
|
|
Get
|
|
Return _value
|
|
End Get
|
|
Set(value As String)
|
|
_value = value
|
|
End Set
|
|
End Property
|
|
End Class
|
|
|
|
Public Class SQLTypeConverter
|
|
Inherits TypeConverter
|
|
|
|
Public Overrides Function ConvertTo(context As ITypeDescriptorContext, culture As Globalization.CultureInfo, value As Object, destinationType As Type) As Object
|
|
'Return MyBase.ConvertTo(context, culture, value, destinationType)
|
|
Dim sqlvalue As SQLValue = DirectCast(value, SQLValue)
|
|
Return sqlvalue.Value
|
|
End Function
|
|
End Class |