BindingSource クラスとは? わかりやすく解説

BindingSource クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

フォームデータ ソースカプセル化ます。

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

Public Class BindingSource
    Inherits Component
    Implements IBindingListView, IBindingList, IList, ICollection,
 _
    IEnumerable, ITypedList, ICancelAddNew, ISupportInitializeNotification, ISupportInitialize,
 _
    ICurrencyManagerProvider
Dim instance As BindingSource
public class BindingSource : Component, IBindingListView,
 IBindingList, IList, 
    ICollection, IEnumerable, ITypedList, ICancelAddNew, ISupportInitializeNotification,
 
    ISupportInitialize, ICurrencyManagerProvider
public ref class BindingSource : public
 Component, IBindingListView, IBindingList, IList, 
    ICollection, IEnumerable, ITypedList, ICancelAddNew, ISupportInitializeNotification,
 
    ISupportInitialize, ICurrencyManagerProvider
public class BindingSource extends Component
 implements IBindingListView, IBindingList, 
    IList, ICollection, IEnumerable, ITypedList, ICancelAddNew, 
    ISupportInitializeNotification, ISupportInitialize, ICurrencyManagerProvider
public class BindingSource extends
 Component implements IBindingListView, IBindingList, 
    IList, ICollection, IEnumerable, ITypedList, ICancelAddNew, 
    ISupportInitializeNotification, ISupportInitialize, ICurrencyManagerProvider
解説解説

BindingSource コンポーネントは、2 つ目的果たします1 つは、間接層、通貨管理変更通知、およびその他のサービス提供してフォーム上のコントロールデータへのバインディング簡素化することです。これは、BindingSource コンポーネントデータ ソースに結びつけ、フォーム上のコントロールBindingSource コンポーネントバインディングすることによって達成されます。以降データとの対話 (移動並べ替えフィルタ処理更新など) は、BindingSource コンポーネント呼び出すことによって実行します

BindingSource コンポーネントが果たすもう 1 つ目的は、厳密に指定されデータ ソースとして機能することです。基底データ ソースの型は、通常次の機構うちいずれかを通じて固定されます。

どちらの機構使用しても、厳密に指定されリスト作成されます。BindingSource は、DataSource プロパティと DataMember プロパティ設定従い、単純データ バインディング複合データ バインディング両方サポートします

メモ注意

BindingSource クラス多くメンバは、List プロパティ表される基底リストの下で機能し、その操作基底リスト委託するだけです。このためBindingSource を IList のカスタム実装バインドした場合、これらのメンバ動作は、クラスドキュメント記載されている動作厳密に異な場合あります。たとえば、RemoveAt メソッドは、IList.RemoveAt を呼び出します。BindingSourceドキュメントにおける RemoveAt メソッド説明は、基になる IListRemoveAt メソッド正しく実装されていることを前提としています。

使用例使用例

BindingSourceListBoxバインドするコード例次に示しますBindingSource が、フォント一覧を保持する BindingList にバインドされます

Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Drawing
Imports System.Text
Imports System.Windows.Forms
Public Class Form1
    Inherits Form

    <STAThread()> _
    Shared Sub Main()
        Application.EnableVisualStyles()
        Application.Run(New Form1())

    End Sub

    Public Sub New()

    End Sub

    Private textBox1 As TextBox
    Private WithEvents button1 As
 Button
    Private listBox1 As ListBox
    Private components As IContainer
    Private binding1 As BindingSource

    Sub Form1_Load(ByVal sender As
 Object, ByVal e As EventArgs)
 Handles Me.Load
        listBox1 = New ListBox()
        textBox1 = New TextBox()
        binding1 = New BindingSource()
        button1 = New Button()
        listBox1.Location = New Point(140, 25)
        listBox1.Size = New Size(123, 160)
        textBox1.Location = New Point(23, 70)
        textBox1.Size = New Size(100, 20)
        textBox1.Text = "Wingdings"
        button1.Location = New Point(23, 25)
        button1.Size = New Size(75, 23)
        button1.Text = "Search"
        Me.ClientSize = New Size(292, 266)
        Me.Controls.Add(Me.button1)
        Me.Controls.Add(Me.textBox1)
        Me.Controls.Add(Me.listBox1)

        Dim fonts As New
 MyFontList()
        Dim i As Integer
        For i = 0 To FontFamily.Families.Length
 - 1
            If FontFamily.Families(i).IsStyleAvailable(FontStyle.Regular)
 Then
                fonts.Add(New Font(FontFamily.Families(i), 11.0F,
 FontStyle.Regular))
            End If
        Next i
        binding1.DataSource = fonts
        listBox1.DataSource = binding1
        listBox1.DisplayMember = "Name"

    End Sub
    Private Sub button1_Click(ByVal
 sender As Object, ByVal
 e As EventArgs) _
        Handles button1.Click

        If binding1.SupportsSearching <> True
 Then
            MessageBox.Show("Cannot search the list.")
        Else
            Dim foundIndex As Integer
 = binding1.Find("Name", textBox1.Text)
            If foundIndex > -1 Then
                listBox1.SelectedIndex = foundIndex
            Else
                MessageBox.Show("Font was not found.")
            End If
        End If

    End Sub
End Class

Public Class MyFontList
    Inherits BindingList(Of Font)

    Protected Overrides ReadOnly
 Property SupportsSearchingCore() As Boolean
        Get
            Return True
        End Get
    End Property
    
    Protected Overrides Function
 FindCore(ByVal prop As PropertyDescriptor,
 _
        ByVal key As Object)
 As Integer
        ' Ignore the prop value and search by family name.
        Dim i As Integer
        While i < Count
            If Items(i).FontFamily.Name.ToLower() = CStr(key).ToLower()
 Then
                Return i
            End If
            i += 1
        End While

        Return -1
    End Function
End Class
継承階層継承階層
System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
      System.Windows.Forms.BindingSource
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
BindingSource メンバ
System.Windows.Forms 名前空間
BindingSource クラス
BindingNavigator クラス
DataGridView
CurrencyManager
IList
IBindingList
IEditableObject
その他の技術情報
BindingSource コンポーネント



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「BindingSource クラス」の関連用語











BindingSource クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



BindingSource クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS