方法 : Windows フォーム BindingNavigator コントロールに [Load]、[Save]、[Cancel] の各ボタンを追加する

更新 : 2007 年 11 月

BindingNavigator コントロールは、フォーム上のデータ バインド コントロールの移動や操作に用途が特化された ToolStrip コントロールです。

BindingNavigator コンポーネントは ToolStrip コントロールであるため、簡単に変更でき、ユーザー向けの追加コマンドや代替コマンドを含めることができます。

次の手順では、TextBox コントロールをデータにバインドし、フォームに追加した ToolStrip コントロールを変更して、[Load]、[Save]、[Cancel] の各ボタンを追加します。

BindingNavigator コンポーネントに [Load] ボタン、[Save] ボタン、および [Cancel] ボタンを追加するには

  1. フォームに TextBox コントロールを追加します。

  2. このコントロールを、データ ソースにバインドされている BindingSource にバインドします。この例では、BindingSource はデータベースにバインドされています。

  3. データセットとテーブル アダプタが生成されたら、BindingNavigator コントロールをフォームにドラッグします。

  4. BindingNavigator コントロールの BindingSource プロパティを、コントロールにバインドされているフォーム上の BindingSource に設定します。

  5. BindingNavigator コントロールを選択します。

  6. スマート タグ グリフ (スマート タグ グリフ) をクリックして [BindingNavigator タスク] ダイアログ ボックスを表示し、[項目の編集] をクリックします。

    項目コレクション エディタが表示されます。

  7. 項目コレクション エディタで、次の手順を実行します。

    1. 適切な型の ToolStripItem を選択し、[追加] をクリックして、ToolStripSeparator と 3 つの ToolStripButton 項目を追加します。

    2. 各ボタンの Name プロパティを、それぞれ LoadButton、SaveButton、CancelButton に設定します。

    3. 各ボタンの Text プロパティを、それぞれ Load、Save、Cancel に設定します。

    4. 各ボタンの DisplayStyle プロパティを Text に設定します。または、このプロパティを Image または ImageAndText に設定し、Image プロパティでイメージが表示されるように設定することもできます。

    5. [OK] をクリックしてダイアログ ボックスを閉じます。各ボタンが ToolStrip に追加されます。

  8. フォームを右クリックし、[コードの表示] をクリックします。

  9. コード エディタで、テーブル アダプタにデータを読み込むコード行を見つけます。このコードは、手順 2. でデータ バインディングを設定したときに生成されます。たとえば、TableAdapterName.Fill(DataSetName.TableName) のようになります。このコードは、一般にフォームの Load イベントに含まれます。

  10. 作成済みの [Load]ToolStripButtonClick イベントのイベント ハンドラを作成し、データ読み込みコードをこのハンドラに移動します。

    コードは次のようになります。

    [Visual Basic]

    Private Sub LoadButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LoadButton.Click
        TableAdapterName.Fill(DataSetName.TableName)
    End Sub
    

    [C#]

    private void LoadButton_Click(System.Object sender, 
        System.EventArgs e)
    {
        TableAdapterName.Fill(DataSetName.TableName);
    }
    
  11. 作成済みの [Save]ToolStripButtonClick イベントのイベント ハンドラを作成し、コントロールがバインドされている、テーブル内のデータを更新するコードを記述します。

    [Visual Basic]

    Private Sub SaveButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveButton.Click
        TableAdapterName.Update(DataSetName.TableName)
    End Sub
    

    [C#]

    private void SaveButton_Click(System.Object sender, 
        System.EventArgs e)
    {
        TableAdapterName.Update(DataSetName.TableName);
    }
    
    safa4957.alert_note(ja-jp,VS.90).gifメモ :

    BindingNavigator コンポーネントには、既に [Save] ボタンが設定されている場合もありますが、Windows フォーム デザイナによってコードは生成されていません。このような場合は、ToolStrip で新しいボタンを作成するのではなく、既存のボタンの Click イベント ハンドラに前述のコードを配置できます。ただし、ボタンは既定で無効になっているため、ボタンの Enabled プロパティを true に設定し、ボタンが適切に機能するようにします。

  12. 作成済みの[Cancel]ToolStripButtonClick イベントのイベント ハンドラを作成し、表示されているデータ レコードに対する変更をキャンセルするコードを記述します。

    [Visual Basic]

    Private Sub CancelButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CancelButton.Click
        BindingSourceName.CancelEdit()
    End Sub
    

    [C#]

    private void CancelButton_Click(System.Object sender, System.EventArgs e)
    {
        BindingSourceName.CancelEdit();
    }
    
    safa4957.alert_note(ja-jp,VS.90).gifメモ :

    CancelEdit メソッドのスコープはデータ行です。個々のレコードの表示中に行った変更は、次のレコードに移動する前に保存してください。

参照

参照

BindingSource コンポーネントの概要

BindingNavigator

BindingSource

ToolStrip

その他の技術情報

BindingNavigator コントロール (Windows フォーム)