DOBON.NET DOBON.NETプログラミング掲示板過去ログ

独自クラスにリストボックスコントロールのようなリストの機能を実装する方法

分類:[.NET]

VB2005にて独自クラスにリストボックスコントロールのような
リストの機能を実装する方法についてまったく分かりません。
ヒントのようなものがあればお教えください。
■No16672に返信(みーしんさんの記事)
> VB2005にて独自クラスにリストボックスコントロールのような
> リストの機能を実装する方法についてまったく分かりません。
> ヒントのようなものがあればお教えください。

たとえば、そのリスト化したい型のコレクションを、そのコントロールのプロパティに実装します。
あとは内容をどう保存するかに依ります。
■No16673に返信(じゃんぬねっとさんの記事)
> ■No16672に返信(みーしんさんの記事)
>>VB2005にて独自クラスにリストボックスコントロールのような
>>リストの機能を実装する方法についてまったく分かりません。
>>ヒントのようなものがあればお教えください。
>
> たとえば、そのリスト化したい型のコレクションを、そのコントロールのプロパティに実装します。
> あとは内容をどう保存するかに依ります。

ありがとうございます何とか動くようにできました。
下記のようなコードです。


<Serializable()> Public Class ListItem
Private itemtext As String
Public Property Itemss() As String
Get
Return itemtext
End Get
Set(ByVal value As String)
itemtext = value
End Set
End Property
End Class

<Serializable()> Public Class ListControl : Inherits BaseClass

Private _Items As New System.Collections.Generic.List(Of ListItem)

Private Text_Font As Font 'テキストのフォント


<System.ComponentModel.Description("リストコントロールのコレクション"), System.ComponentModel.Category("表示")> _
Public Property Items() As System.Collections.Generic.List(Of ListItem)
Get
Return _Items
End Get
Set(ByVal value As System.Collections.Generic.List(Of ListItem))
_Items = value
End Set
End Property
■No16674に返信(みーしんさんの記事)
> ■No16673に返信(じゃんぬねっとさんの記事)
>>■No16672に返信(みーしんさんの記事)
> >>VB2005にて独自クラスにリストボックスコントロールのような
> >>リストの機能を実装する方法についてまったく分かりません。
> >>ヒントのようなものがあればお教えください。
>>
>>たとえば、そのリスト化したい型のコレクションを、そのコントロールのプロパティに実装します。
>>あとは内容をどう保存するかに依ります。
>
> ありがとうございます何とか動くようにできました。
> 下記のようなコードです。
>
>
> <Serializable()> Public Class ListItem
> Private itemtext As String
> Public Property Itemss() As String
> Get
> Return itemtext
> End Get
> Set(ByVal value As String)
> itemtext = value
> End Set
> End Property
> End Class
>
> <Serializable()> Public Class ListControl : Inherits BaseClass
>
> Private _Items As New System.Collections.Generic.List(Of ListItem)
>
> Private Text_Font As Font 'テキストのフォント
>
>
> <System.ComponentModel.Description("リストコントロールのコレクション"), System.ComponentModel.Category("表示")> _
> Public Property Items() As System.Collections.Generic.List(Of ListItem)
> Get
> Return _Items
> End Get
> Set(ByVal value As System.Collections.Generic.List(Of ListItem))
> _Items = value
> End Set
> End Property
>
>
>
>
解決済み!
> Public Property Items() As System.Collections.Generic.List(Of ListItem)
> Get
> Return _Items
> End Get
> Set(ByVal value As System.Collections.Generic.List(Of ListItem))
> _Items = value
> End Set
> End Property

目的が無い限り、ReadOnlyにしておいたほうがよいでしょう。
解決済み!
2006/07/26(Wed) 18:02:48 編集(投稿者)
2006/07/26(Wed) 17:59:29 編集(投稿者)
2006/07/26(Wed) 17:53:08 編集(投稿者)

■No16685に返信(まどかさんの記事)
>
> 目的が無い限り、ReadOnlyにしておいたほうがよいでしょう。

中さんのHPでより理解しました。
プロパティグリッドコントロールから文字列コレクションエディタが開くようなリストボックスコントロールのようなコレクション機能を持った独自のクラスを作成するのには。。。

以前のコードは下記のように修正しました。

<Serializable()> Public Class ListControl : Inherits BaseClass

Private _Items As New System.Collections.ObjectModel.Collection(Of String)←ここと

Private Text_Font As Font 'テキストのフォント


<System.ComponentModel.Description("リストコントロールのコレクション"), System.ComponentModel.Category("表示")> _
Public Property Items() As System.Collections.ObjectModel.Collection(Of String)←ここと
Get
Return _Items
End Get
Set(ByVal value As System.Collections.ObjectModel.Collection(Of String))←ここ
_Items = value
End Set
End Property
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板