C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■92874 / )  Re[2]: クラスからDataGridViewへの数値代入
□投稿者/ protect (2回)-(2019/11/04(Mon) 21:08:01)
申し訳ございません
情報不足でした
補足させていただきます

Form1 fm = new Form1();
fm.DataGrid[0, 0].Value = 10;

の部分は別のフォーム(例えばForm2)に記載しているコードになります。

Form1側にボタンがあり、押されることでForm2が呼び出され
そこでForm1のインスタンスが生成されるプログラムになっております。
そして、Form2が呼び出されたとき、Form1にあるDataGridViewに値を代入する
ことになります。

フローとしましては
Form1 loadイベント→DataGridView初期化→操作する側がForm1のボタンを押す→
Form2が呼び出される→Fomr2のメソッドがForm1のDataGridViewのあるセルに値を代入する
になります。

No92872 (Azulean さん) に返信
> 2019/11/04(Mon) 20:59:04 編集(投稿者)
>
> ■No92870 (protect さん) に返信
>>Form1 fm = new Form1();
>>fm.DataGrid[0, 0].Value = 10;  <-エラーになる。
>
> Load イベントは「フォームが表示されようとするときに呼び出されるイベント」です。
> new するだけでは表示されようとしていないので、Load イベントは実行されていません。
> new したときに処理を実行させたいなら、コンストラクタ(public Form1() のこと)内に処理を書いてください。
>
>
> そういった動きを確認する意味でも、「ブレークポイント」を使ったデバッグを学びましょう。
> 通常だと F9 キーでブレークポイントの設定と解除ができ、F5 キーで実行するとそのブレークポイントの位置で実行が止まります。
>
> (検証していないのでほかにも原因があるかもしれませんが、ぱっと見て気づくことだけをひとまずコメントしました)
返信 編集キー/


管理者用

- Child Tree -