質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

解決済

C# DataGridViewに他classの変数が渡らない

退会済みユーザー

退会済みユーザー

総合スコア0

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

2回答

-1評価

0クリップ

168閲覧

投稿2021/11/16 03:49

編集2021/11/16 04:50

前提・実現したいこと

初心者です。ポートフォリオとして初めて簡単なアプリを作成しようとしましたが、Form1で打ち込んだデータがForm2のDataGridViewに全く飛びません・・・。
ゲッター、セッターの使い方なのか、何が問題か分からなくて悩んでいます。
コードを書き添えておくので、違う部分がありましたら教えて頂けると幸いです。

該当のソースコード

C#

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WinFormsApp1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private int borrowing = 0; private int bonus = 0; private int year = 0; private double rate = 0; public int Borrowing { get { return borrowing; } set { borrowing = value; } } public int Bonus { get { return bonus; } set { bonus = value; } } public int Year { get { return year; } set { year = value; } } public double Rate { get { return rate; } set { rate = value; } } private void TextBox1_TextChanged(object sender, EventArgs e) { borrowing = int.Parse(textBox1.Text) * 10000; } private void TextBox2_TextChanged(object sender, EventArgs e) { bonus = int.Parse(textBox2.Text); } private void ComboBox1_SelectedIndexChanged(object sender, EventArgs e) { year = Convert.ToInt32(comboBox1.SelectedItem); } private void RadioButton1_CheckedChanged(object sender, EventArgs e) { //(int)((borrowing * rate / 12) * Math.Pow(1 + rate / 12, year * 12)) / Math.Pow( 1 + rate / 12, year * 12) - 1; } private void RadioButton2_CheckedChanged(object sender, EventArgs e) { } private void TextBox3_TextChanged(object sender, EventArgs e) { rate = double.Parse(textBox3.Text) *0.01; } private void Button1_Click(object sender, EventArgs e) { if(radioButton1.Checked == true) { Form2 fm2 = new Form2(); fm2.Show(); } else if (radioButton2.Checked == true) { Form2 fm2 = new Form2(); fm2.Show(); } } } } using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace WinFormsApp1 { public partial class Form2 : Form { public Form2() { InitializeComponent(); this.Text = "住宅ローン早見表"; DateTime dt = DateTime.Now; label2.Text = dt.ToString("D"); // DataGridViewの初期値を設定 Set_init_gridview(); } public Form1 fm = new Form1(); private void Set_init_gridview() { dataGridView1.Rows.Add(fm.Borrowing.ToString()); } } }

試したこと

昨日から手を変えてつきっきりなのですがうまくいきません・・・。

補足情報(FW/ツールのバージョンなど)

visualstudio2019です。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

fana

2021/11/16 04:09

> Form1で打ち込んだデータがForm2のgridviewに全く飛びません どのような経緯を経てデータが「飛ぶ」という想定でおられるのか? その経緯に相当する実装はそのコード内のどの部分なのか? まずそのあたりの説明が必要でしょう.
退会済みユーザー

退会済みユーザー

2021/11/16 04:25

>Form2の一番下の dataGridView1.Rows.Add(fm.Borrowing.ToString());の方に Form1のBorrowingの入力が入れられないかということです。 どう質問したら良いかも分からず申し訳ありません。
fana

2021/11/16 04:29

すでに回答が付いていますが,まずは「インスタンス」という概念を把握すべきであろうと見受けます. 「クラス」と「インスタンス」の違い とかそのあたりから.
退会済みユーザー

退会済みユーザー

2021/11/16 04:32

おっしゃる通りです。ありがとうございます。
SurferOnWww

2021/11/16 04:39

間違ってますよね? ×: gridview 〇: DataGridView 質問を編集して訂正してください。こういうのホントにダメです。これを見た閲覧者・回答者はどう思うか考えましょう。
退会済みユーザー

退会済みユーザー

2021/11/16 04:44

もし問題が解決したのであれば、ベストアンサーを選択して質問をクローズしてください。
退会済みユーザー

退会済みユーザー

2021/11/16 04:45

ご指摘頂きありがとうございます。不適切な表現で申し訳ありません。修正致しました。
SurferOnWww

2021/11/16 04:45

タイトルは直したようですが、本文の、 > Form2のgridviewに全く飛びません・・・。 が直ってません。
dodox86

2021/11/16 05:06

で、退会。
退会済みユーザー

退会済みユーザー

2021/11/16 05:17

本当に本何冊も読んでるなら、インスタンスが判らないって事は無いと思うんですけどね。
SurferOnWww

2021/11/16 05:28 編集

ゆとり教育の成果というやつでしょうか・・・ でも、間違いと指摘されたところは素直に直す度量はお持ちのようですから、もうちょっと頑張ってみてはと思うのですが。
dodox86

2021/11/16 05:29

この件はかなり頻出の話題なので、裏を返すと初心の方にはクラス、インスタンスの違いがなかなか実感として分からないのかなと思えます。それにしても私を含めて回答者だって間違えることはあるのだから、本質問者さんに限らず退会しなくても良いのに、と思います。指摘にちゃんと応じて、次から気を付ければいいだけ。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。