- - PR -
VC++データグリッドビュー
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2009-02-12 16:20
textBoxの数値を、listBoxに入れる時
listBox->Items->Add( ○○ ); と書いていたのですが、listBoxをデータグリッドビューにしたら DataGridView->Items->Add( ○○ ); ではItemsは、DataGridViewのメンバではないと出ます。 参考にしている参考書(一目でわかる Visual C++2008アプリケーション開発入門)では private: System::Void buttonAdd_Click(System:bject^ sender, System::EventArgs^ e) { // 品名、分類、金額を取得する String^ name = textName->Text; String^ kind = comboKind->Text; int money = int:arse( textMoney->Text ); // 日付を取得する DateTime date = dateCalendar->Value; // 明細リストに追加 this->report->Add( date, name, kind, money ); // リストボックスを更新 UpdateListMoney(); } となっているのですが、なぜthis->になるのか理解できません… this->report->Add( ○○ ); DataGridView->report->Add( ○○ ); など試してみたのですが、どうしてもエラーになります。 どうしてなんでしょう? どなたか、分かる方教えてください。 | ||||
|
投稿日時: 2009-02-12 22:13
これは、「this というのがなんなのかわからない」ということでしょうか? それとも、「なぜここで this が使われるのか、わからない」ということでしょうか? あるいは、他のことでしょうか? ひとつ目なら、this は、buttonAdd_Click メソッドが書かれているクラスのインスタンスを表しています。詳しいことは、「オブジェクト指向プログラミング」を学んでください。 二つ目なら、report がなんなのかわかりませんが、それを指すために使用しているのでしょう。 | ||||
|
投稿日時: 2009-02-13 09:18
thisはDataGridViewをさしているように見えるのですが、
buttonAdd_Click関数の中でなぜDataGridViewをthisでさせるのか? ということです。 this=自分自身だから、buttonAdd_Click関数の中でthisと言えるのは buttonAddじゃないかな?と… | ||||
|
投稿日時: 2009-02-13 10:01
> DataGridView->Items->Add( ○○ );
> ではItemsは、DataGridViewのメンバではないと出ます。 ListBox には Items メンバがあるから使えます。 http://msdn.microsoft.com/ja-jp/library/system.windows.forms.listbox_members(VS.80).aspx DataGridView には Items メンバが無いから使えません。 http://msdn.microsoft.com/ja-jp/library/system.windows.forms.datagridview_members(VS.80).aspx > となっているのですが、なぜthis->になるのか理解できません… > this->report->Add( ○○ ); > DataGridView->report->Add( ○○ ); > など試してみたのですが、どうしてもエラーになります。 > どうしてなんでしょう? 今回の質問事項はこれでしょうか? エラーの内容がわからないのでなんとも言えませんが report は DataGridView のメンバではないと言う感じのエラーではないですか? だとするとこの質問に対する回答は DataGridView に report メンバが無いからです。 > thisはDataGridViewをさしているように見えるのですが、 this は Jitta さんが仰る様にこの記述がされているクラスのインスタンスを指します。 逆になぜ this が DataGridView を指していると思えるのかと言う根拠が知りたいです。 > this=自分自身だから、buttonAdd_Click関数の中でthisと言えるのは > buttonAddじゃないかな?と… buttonAdd_Click 関数の中で言うなら(おそらく) this = クラスのインスタンス sender = buttonAdd では無いでしょうか。 |
1