まず第一に、私はここで新しく、csharpで新しいです。CSharpを学習するためのいくつかの演習を行っている間、ちょうど疲れ果てました。「NullReferenceExceptionが処理されませんでした」というエラーが発生する理由を見つけることができません。
1)これを克服する方法は?私の研究によると、初期化に関連していますが、それを行うことができませんでした。私はデバッグして、すべてのボタンが取得する値がnull値になるのを監視しましたが、これが原因ですか?どうすれば解決できますか?何をすべきか?追加するコードはどれですか?
(***クラスの初期化と配列およびnullのものに関するすべての情報提供の知識は大歓迎です。私はすべてのポイントを学び、専門家になりたいです:Pそして人々はコードを最適化することもできます。すべての追加情報は大歓迎です。)
2)そして、なぜコンパイラはエラーを表示しないのに、コードの実行中にエラーが発生するのですか?
わかりました今、私はコードブローを持っています
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace temp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Button[] btn = new Button[5];
for (int i = 0; i < 5; i++)
{
btn[i] = new Button();
btn[i].Width = 50;
btn[i].Height = 50;
flowLayoutPanel1.Controls.Add(btn[i]);
btn[i].Click += new EventHandler(btn_Click);
}
}
void btn_Click(object sender, EventArgs e)
{
Button[] btn = sender as Button[];
btn[3].Text = "button name changed"; // here problems occurs
//btn[3].BackColor = Color.Red; // here problems occurs
// btn[3].PerformClick(); // here problems occurs
}
}
}