Visual Basic2017 Winフォームアプリケーション作成についての質問です。家計簿アプリ作成をしています。アプリ作成途中で「インスタンス生成時に必要な情報を 引数 として渡す」と参考書に説明がありましたので
Public Class Form1
Public Sub New(ByVal dsCategory As CategoryDataSet)
InitializeComponent() 'initialize
CategoryDataSet.Merge(dsCategory)
End Sub
Private Sub buttonAdd_Click(sender As Object, e As EventArgs) Handles buttonAdd.Click AddData() End Sub Private Sub 追加AToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 追加AToolStripMenuItem.ClickAddData() AddData() End Sub Private Sub AddData() Dim frmItem As ItemForm = New ItemForm(CategoryDataSet1) Dim drRet As DialogResult = frmItem.ShowDialog() If drRet = System.Windows.Forms.DialogResult.OK Then MoneyDataSet.moneyDataTable.AddmoneyDataTableRow( frmItem.monCalendar.SelectionRange.Start(), frmItem.cmbCategory.Text, frmItem.txtItem.Text, Integer.Parse(frmItem.mtxtMoney.Text), frmItem.txtRemarks.Text) End If End Sub
フォーム画面を表示するためにAddData()クラス中でItemForm(Form変数名)にCategoryDataSet1(ツールボックスDataTable変数名)を引数として渡しました。
がエラー発生(Public Sub New()の 引数 が多すぎます。)と表示がありました。
エラーの原因が分かりませんので、アドバイスをお願いしたいと思っております。
どうぞ、よろしくお願い申し上げます。
書籍「作って覚えるVisualBasic2017」P,391
その本にItemFormについての解説はないのですか?
提示されたソース上にItemFormはないので答えようがないかと思います。
ご指摘をありがとうございました。
ItemFormはVBWindowsフォームアプリケーション作成設定から、「新しい項目の追加」、「Windowsフォーム」、「名前の変更」によりデフォルトで「Form」を「ItemForm」としました。まだリファレンスをしつつ、漸進しておりますので、どこを質問したらよいのか分からず質問も理解しづらいと思います。申し訳ありません。
エラーはItemFormのNewの引数が多いとなっています。
デザイナにてFormを作っただけでは通常Newに引数はありません。
ですので、本になにかしらの解説があるはずです。
ありがとうございます。今朝はパソコンが故障し、使えない状態になりました。もう少し学ぼうと思います。パソコンが復旧次第、解決をめざしたいと思います。
あなたの回答
tips
プレビュー