投稿者 魔界の仮面弁士  (社会人) 投稿日時 2020/3/19 10:21:00
> DataGridViewにデフォルトで付いてくる削除ボタン(BindingNavigatorDeleteItem)

DataGridView に削除ボタンが付いているわけでは無いですよね。

BindingNavigatorDeleteItem は、BindingNavigator コンポーネントに対して
デザイン時に自動的に追加された ToolStripButton の名前です。

BindingNavigatorDeleteItem と DataGridView コントロールが連動しているように見えるのは、
DataGridView と BindingNavigator の DataSource が共通であるからですね。


> そのまま新しく作ったボタンに置き換えたいです。

デザイン時に画像を置き換えたいなら、右クリックして「イメージの設定」です。

新しいボタンを追加したいなら、フォーム上に貼られた BindingNavigator を選択すれば、
アイテム追加用のドロップダウンが現れるでしょう。
デザイン時に位置を入れ替えたいなら、ドラッグ&ドロップで移動させるか、
項目コレクション エディターダイアログから調整できます。

アイテムを実行時に追加したいなら、MindingNavigator1.Items.Add メソッドでどうぞ。

追加したアイテムは、必要に応じて、BindingNavigator コンポーネントの
DeleteItem プロパティ および AddNewItem / CountItem / PositionItem プロパティや
Move{First/Last/Next/Previous}Item プロパティに割り当てることで、
既定のバインド操作を組み込むことができます。

もちろん、自前でクリック時の処理を適宜仕込むということもできますね。


> 「選択された行のみを削除する」という機能
あれ? 「選択された行」ではなく、「現在の行」が削除される仕様では無いですか?

「現在行」ではなく、DataGridView の「選択行すべて」を削除したいのであれば、
DeleteItem プロパティに割り当てずに Click イベントを使うようにして、こんな感じでどうでしょう。

Dim rows = DataGridView1.SelectedRows
For r = rows.Count - 1 To 0 Step - 1
  Dim rowView = DirectCast(rows(r), DataRowView)
  rowView.Delete()
Next
DataGridView1.ClearSelection()