タイトル : 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を書いたけど、なんか微妙に新鮮ですねぇ(笑) |