重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

C# でクラスの public、private の動作を確認するために フォームにラベルを Lb という name で貼り付け、以下のようなコードを書いたのですが、コンパイルはできるものの

  フィールド 'Miwako.LbShow' は割り当てられません。常に既定値 null を使用します。

という警告が出て、できたexe を実行しても実行エラーが出ます。どこがおかしいのでしょうか?

namespace MiwakoMegumi
{
  public partial class Form1 : Form
  {
    public Form1()
    {
      InitializeComponent();
    }
    Miwako mw = new Miwako();
    private void Form1_Load(object sender, EventArgs e)
    {
      mw.MiwakoShow2(); //public な MiwakoShow2 を呼ぶ
    }
  }

  class Miwako
  {
    public Label Lb;

    private void MiwakoShow()
    {
      Lb.Text = "美和子の顔を表示する";
    }
    public void MiwakoShow2()
    {
      MiwakoShow();
    }
  }
}

A 回答 (1件)

エラーメッセージとコードが違うようですが?



public Label Lb;
で、このLbに対してインスタンスの生成をしていないので、nullなんでしょう。
普通にフォームデザイナーでコントロール置いた場合は、InitializeComponent()の中で生成しています。
    • good
    • 0
この回答へのお礼

すばやい回答ありがとうございました。

お礼日時:2021/10/21 14:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!