tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^3: xmlファイル作成
投稿日: 2005/01/25(Tue) 03:25
投稿者たくボン
解決済みかもしれませんが(笑)
今回のような複数のコントロール群を一括してオブジェクトとして扱うような場合は、UserControlを使
うのが一番エレガントにできますね。
せっかく.NETを使われていることですし、オブジェクト指向的な開発をすれば良いかと思います。

@プロジェクトにUserControlを追加。
AデザイナでComboBox,TextBoxを配置。
B必要なプロパティを公開。(こんな感じでね)

Public ReadOnly Property Items() As ComboBox.ObjectCollection
  Get
    Return ComboBox1.Items
  End Get
End Property

Public Overrides Property Text() As String
  Get
    Return TextBox1.Text
  End Get
  Set(ByVal Value As String)
    TextBox1.Text = Value
  End Set
End Property

Cビルドしてフォームに作成したUserControlを15個ペタペタ貼り付け。
D呼び出し元ではこんな感じにコーディング

For Each c As Control In Me.Controls
  If TypeOf c Is UserControl1 Then
    Dim uc As UserControl1 = DirectCast(c, UserControl1)
    '必要な処理
  End If
Next

これならComboBoxとTextBoxが対になりますね。また呼び出し元でもUserControl型を指定しているので
他のコントロールと区別できますね(^-^)

もっと欲を出せば、XmlAttribute変換の動作をUserControlに持たせるのがオブジェクト指向的にはスマ
ートなやりかたですね。
XmlWriterを使うのではなく、XmlNodeを使ったコーディングにすればさらに柔軟かつ綺麗なプログラム
になりますよ。

Public Function GetAttribute(ByVal doc As Xml.XmlDocument) As Xml.XmlAttribute
  Dim attr As Xml.XmlAttribute = doc.CreateAttribute("hogehoge")
  '必要な処理
  Return attr
End Function

UserControlやXMLDocumentを使ったプログラミングは初心者にはちょっとだけ難しいかもしれません
が、理解してしまえばもっと開発が楽しくなりますよ(^-^)v
久しぶりに仕事の息抜きでVBを書いたけど、なんか微妙に新鮮ですねぇ(笑)

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。