プロが教えるわが家の防犯対策術!

Form の name が Form1 のとき

private void Form1_Load(object sender, EventArgs e)
{
  this.Text = "新規ファイル"; //this は省略できる
}

  /Form1.Text = "新規ファイル";
とすると文法エラーになります。
 textBox や Label のTextプロパティは普通に

  textBox1.Text = "新規ファイル";
  LabelBox1.Text = "新規ファイル";

とできるのに、なぜ Form の Text プロパティはそうできない仕様になっているのでしょうか。

A 回答 (1件)

インスタンスのプロパティをいじるにあたって、Form1というプロパティは存在しないからです。


Form1は、FormクラスのNameプロパティですよね。
Form1なんていうプロパティは存在しません。

textBox1やLabelBox1は、そういう変数名で、Formクラス内に、インスタンス化されたオブジェクトが、フィールドとして存在するから使えるのです。
そこは、Form1.Designer.csファイルを見ると分かると思います。
    • good
    • 1
この回答へのお礼

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

お礼日時:2021/11/09 21:46

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