Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
04.11.2003, 11:46
|
|||
|---|---|---|---|
|
|||
редактирование свойства в Properties Window (VS.NET 2003) - помогите ламеру |
|||
|
#18+
Люди, помогите: надо сделать Control, который имеет среди прочих Properties трехмерную точку (Int32 - по 10 бит на координату), причем надо, чтобы все три координаты редактировались в Properties Window (аналогично Location, Size - т.е. в дереве). Если я правильно понимаю, надо сделать соответствующий TypeConverter (Point3DTypeConverter) и объявить его private Int32 coord3D; [System.ComponentModel.TypeConverter(typeof(Point3DTypeConverter))] public Int32 Coord3D { get {...} set {...} } Может кто кинет примерчик, как надо реализовывать Point3DTypeConverter для аналогичного случая. Надо ли для этого иметь отдельный класс (Point3D) или можно обойтись Int32. Если надо, чего особенного там должно быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.11.2003, 12:09
|
|||
|---|---|---|---|
|
|||
редактирование свойства в Properties Window (VS.NET 2003) - помогите ламеру |
|||
|
#18+
Надеюсь ничего страшного что пример на VB? '------------- Imports System.ComponentModel Imports System.ComponentModel.Design.Serialization '----------- Public Class test Private _Coord As Coord3D <CategoryAttribute("My Category"), DefaultValueAttribute(""), _ DescriptionAttribute("coord3D")> _ Public Property Coord() As Coord3D Get Return _Coord End Get Set(ByVal Value As Coord3D) _Coord = Value End Set End Property Public Sub New() _Coord = New Coord3D() End Sub End Class '------------------------------------- <TypeConverter(GetType(Coord3DConverter))> _ Public Class Coord3D ''' Private _X As Int32 = 0 Private _Y As Int32 = 0 Private _Z As Int32 = 0 ''' <DescriptionAttribute("X")> _ Public Property X() As Int32 Get Return _X End Get Set(ByVal Value As Int32) _X = Value End Set End Property ''' <DescriptionAttribute("Y")> _ Public Property Y() As Int32 Get Return _Y End Get Set(ByVal Value As Int32) _Y = Value End Set End Property ''' <DescriptionAttribute("Z")> _ Public Property Z() As Int32 Get Return _Z End Get Set(ByVal Value As Int32) _Z = Value End Set End Property End Class '-------------------------- Friend Class Coord3DConverter : Inherits ExpandableObjectConverter ''' Public Overloads Overrides Function CanConvertFrom(ByVal context As System.ComponentModel.ITypeDescriptorContext, ByVal sourceType As System.Type) As Boolean If (sourceType Is GetType(String)) Then Return True End If Return MyBase.CanConvertFrom(context, sourceType) End Function Public Overloads Overrides Function ConvertFrom(ByVal context As System.ComponentModel.ITypeDescriptorContext, ByVal culture As System.Globalization.CultureInfo, ByVal value As Object) As Object If TypeOf value Is String Then Try Dim s As String = CType(value, String) Dim versionParts() As String Dim VersionString As String = "" versionParts = Split(s, ".") If Not IsNothing(versionParts) Then Dim _Coord3D As Coord3D = New Coord3D() If Not IsNothing(versionParts(0)) Then _Coord3D.X = versionParts(0) If Not IsNothing(versionParts(1)) Then _Coord3D.Y = versionParts(1) If Not IsNothing(versionParts(2)) Then _Coord3D.Z = versionParts(2) End If Catch ex As Exception Throw New ArgumentException("Can not convert '" + value + "' to type Coord3D") End Try End If Return MyBase.ConvertFrom(context, culture, value) End Function Public Overloads Overrides Function ConvertTo(ByVal context As System.ComponentModel.ITypeDescriptorContext, ByVal culture As System.Globalization.CultureInfo, ByVal value As Object, ByVal destinationType As System.Type) As Object If (destinationType Is GetType(System.String) AndAlso TypeOf value Is Coord3D) Then Dim _Coord3D As Coord3D = CType(value, Coord3D) Return _Coord3D.X.ToString + "." + _Coord3D.Y.ToString + "." + _Coord3D.Z.ToString End If Return MyBase.ConvertTo(context, culture, value, destinationType) End Function Public Overloads Overrides Function CanConvertTo(ByVal context As System.ComponentModel.ITypeDescriptorContext, ByVal destinationType As System.Type) As Boolean If (destinationType Is GetType(Coord3D)) Then Return True End If Return MyBase.CanConvertFrom(context, destinationType) End Function End Class ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=20&tablet=1&tid=1439860]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
140ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
2ms |
| others: | 273ms |
| total: | 486ms |

| 0 / 0 |
