Visual Basic .NET または Visual Basic 2005 を使用して、ArrayList または構造体のコレクションを Windows フォームにバインドする方法

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

313638
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
概要
この手順を追って説明資料では、Windows フォームに構造体の ArrayList をバインドする方法について説明します。 例は、 ArrayList を移動する、構造体メンバーと 4 つのコマンド ボタンを表示する 3 つのテキスト ボックスに Windows フォームを含みます。

要件

Microsoft Visual Basic .NET または Microsoft Visual Basic 2005

back to the top

コードの説明

ここではこのタスクの完了に必要なある重要なコーディング概念について説明します。

構造の設計

フォームにバインドする構造体にメンバー アクセサーが必要です。 構造体メンバーのアクセサーは事実上 プロパティの設定 と同じ/構造を 取得 クラスがあります。 この資料の例で使われる構造体は次の 3 つのメンバー (1 つだけを示します) を持ち。 パラメーター化されたコンストラクター も提供されますがなくてもします。
Private Structure guitar    Friend mmake As String    Friend mmodel As String    Friend myear As Short    Public Sub New(ByVal make, ByVal model, ByVal year)        Me.mmake = make        Me.mmodel = model        Me.myear = year    End Sub    Public Property make() As String        Get            make = mmake        End Get        Set(ByVal Value As String)            mmake = Value        End Set    End PropertyEnd Structure				

back to the top

データ構造のインスタンスを ArrayList に追加

T ではインスタンスを作成、 ArrayList に追加、および次の手順に従います。
  1. 構造体の型の変数を宣言します。
  2. ArrayList を宣言します。
  3. 、構造体のインスタンスを作成し、 ArrayList に追加します。
Private myStruct As guitarDim al As New ArrayList()myStruct = New guitar("Gibson", "Les Paul", 1958)al.Add(myStruct) myStruct = New guitar("Fender", "Jazz Bass", 1964)al.Add(myStruct)myStruct = New guitar("Guild", "Bluesbird", 1971)al.Add(myStruct)				

back to the top

フォームのコントロールへのデータ構造のメンバーのバインド

ArrayList の値が設定した後、構造体の各メンバーを Windows フォーム コントロールにバインドできます。 これを行うには、 テキスト ボックスのデータ連結 プロパティの 追加 メソッドを呼び出してしてバインドするプロパティ、 ArrayList の名前、構造体のメンバーを渡すください。
TextBox1.DataBindings.Add("Text", al, "make")TextBox2.DataBindings.Add("Text", al, "model")TextBox3.DataBindings.Add("Text", al, "year")				

back to the top

移動、ArrayList を使用する方法を提供します。

プロセスで最後が、 ArrayList を移動する方法を提供します。 これを行うには、 CurrencyManager 使わなければなりません。 フォームの BindingContext 、ここでは、構造体の ArrayList CurrencyManager を関連付けます。
Private cMan As CurrencyManagercMan = CType(Me.BindingContext(al), CurrencyManager)				
CurrencyManager オブジェクトには、 ArrayList のメンバーを反復処理を操作できる 位置 プロパティがあります。 追加または 配置 の現在値から減算すること、により、 ArrayList の別のメンバーをフォーム上で表示できます。
'Move forward one element. cMan.Position += 1'Move back one element.cMan.Position -= 1'Move to the beginning.cMan.Position = 0'Move to the end.cMan.Position = al.Count - 1				

back to the top

ステップ バイ ステップの例

  1. Visual Basic .NET または Visual Basic 2005 で新しい Windows アプリケーション プロジェクトを開きます。
  2. Form1 に 3 つのテキスト ボックスを追加して、コントロールを水平方向に配置します。
  3. 4 つのコマンド ボタンを Form1 に追加して、コントロールを水平方向に配置します。
  4. 次へ] Button1 の 文字列を設定 変更します。
  5. 直前の動作と同時 Button2 の 文字列を設定 変更します。
  6. 初めて Button3 の 文字列を設定 変更します。
  7. 最後 Button4 の 文字列を設定 変更します。
  8. 次のコードを Form1 の宣言セクションに追加:
    Private Structure guitar    Friend mmake As String    Friend mmodel As String    Friend myear As Short    Public Sub New(ByVal make, ByVal model, ByVal year)        Me.mmake = make        Me.mmodel = model        Me.myear = year    End Sub    Public Property make() As String        Get            make = mmake        End Get        Set(ByVal Value As String)            mmake = Value        End Set    End Property    Public Property model() As String        Get            model = mmodel        End Get        Set(ByVal Value As String)            mmodel = Value        End Set    End Property    Public Property year() As Short        Get            year = myear        End Get        Set(ByVal Value As Short)        myear = Value        End Set    End PropertyEnd StructurePrivate myStruct As guitarPrivate al As New ArrayList()Private cMan As CurrencyManager					
  9. 次のコードを Form_Load イベントに追加:
    myStruct = New guitar("Gibson", "Les Paul", 1958)al.Add(myStruct)myStruct = New guitar("Fender", "Jazz Bass", 1964)al.Add(myStruct)myStruct = New guitar("Guild", "Bluesbird", 1971)al.Add(myStruct)cMan = CType(Me.BindingContext(al), CurrencyManager)TextBox1.DataBindings.Add("Text", al, "make")TextBox2.DataBindings.Add("Text", al, "model")TextBox3.DataBindings.Add("Text", al, "year")					
  10. 次のコード、 Form_Load イベントの後に追加:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Button1.Click        cMan.Position += 1End SubPrivate Sub Button2_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Button2.Click        cMan.Position -= 1End SubPrivate Sub Button3_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Button3.Click        cMan.Position = 0End SubPrivate Sub Button4_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Button4.Click        cMan.Position = al.Count - 1End Sub					
  11. プロジェクトをビルドして実行します。
  12. ArrayList の異なる要素を表示するボタンをクリックします。 オブジェクトの値は編集できます。
back to the top

コレクションの使用

Collection オブジェクトを使用して、構造体を格納することができます。 コレクション の使用をテストに Form_Load イベント プロシージャで、次のコード行を参照して:
Private al As New ArrayList()
もう一度の例を実行して上記のコード行を次のコードに置き換えて:
Private al As New Collection()

back to the top

参照

次のトピック、Visual Studio .NET または Visual Studio 2005 のオンライン ヘルプ ドキュメントで参照してください。
Windows フォーム上のデータのコンシューマ
back to the top

警告: この資料は、自動翻訳されています

プロパティ

文書番号:313638 - 最終更新日: 02/24/2014 15:39:30 - リビジョン: 3.3

  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic 2005
  • kbnosurvey kbarchive kbhowtomaster kbvs2005applies kbvs2005swept kbmt KB313638 KbMtja
フィードバック