• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:DataGridViewの値を別フォームに)

DataGridViewの値を別フォームに

このQ&Aのポイント
  • Form1のDataGridViewから選択した値をForm2に渡し、そのまま表示させたいです。
  • DataGridViewの選択した値を別のフォームに渡し、そのまま別フォームのDataGridViewを表示させたいです。
  • Form1のDataGridViewの値の条件で抽出した結果をForm2のDataGridViewに表示したいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

>f.txt条件 = Me.DataGridView.SelectedRows(0).Cells(7).Valueの部分で >キャストできませんのエラーになります。 当然です。「f.txt条件」は「テキストボックスを示すオブジェクトそのもの」で、オブジェクトには、オブジェクトしか代入できません。 「f.txt条件」テキストボックスに、値をセットする場合は、テキストボックスの「Textプロパティ」に値を代入します。 f.txt条件.Text = Me.DataGridView.SelectedRows(0).Cells(7).Value

wansm
質問者

お礼

回答ありがとうございます。 おかげさまでエラーはなくなりました。 あとは、受け渡しの時は、Form2でクリックをしなくても表示したいのです。 改めてよろしくお願いします。

wansm
質問者

補足

すいません、Form2でコントロールします。

その他の回答 (1)

回答No.2

追記。 ShowDialog()したフォームは、閉じられても、リソースが開放されません。 Private Sub dgv_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgv.CellDoubleClick Dim f As New Form2 f.txt条件.Text = Me.DataGridView.SelectedRows(0).Cells(7).Value f.ShowDialog() f.Dispose() ’リソースを明示的に開放する End Sub のように、Disposeを呼び出して、明示的にリソースを開放しなければなりません。 なお、以下のように「ShowしてCloseした場合」には、Disposeは不要です。 Private Sub dgv_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgv.CellDoubleClick Dim f As New Form2 f.txt条件.Text = Me.DataGridView.SelectedRows(0).Cells(7).Value f.Show() f.Close() ’Closeで自動的にリソースが開放され、破棄される End Sub なお、VB2005以降ではUsingステートメントで、明示的なリソース開放をせず、暗黙的にリソース開放できるようになりました。 Private Sub dgv_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgv.CellDoubleClick Using f As New Form2 'Dimの代わりにUsingを使用する  f.txt条件.Text = Me.DataGridView.SelectedRows(0).Cells(7).Value  f.ShowDialog() End Using ’リソースが暗黙的に開放される End Sub

wansm
質問者

お礼

 ご指摘ありがとうございます。 早速追加しました。

関連するQ&A

専門家に質問してみよう