首先,我在這裏是新的,並與csharp新。在爲了學習csharp做一些練習時只是精疲力竭。無法找到解決方案,爲什麼我得到的錯誤「NullReferenceException是未處理」和按鈕數組NullReferenceException未處理
1)如何克服這一點?根據我的研究,它與初始化有關,但無法做到。我調試並觀察值的所有按鈕得到空值是因爲這個?我該如何解決它?該怎麼辦?哪些代碼要添加?我想學習所有的要點,想成爲專家: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
}
}
}
感謝,但那我該怎麼到達第3個按鈕並使其顏色發生變化 –
查看更新 – eyossi
yuppi yes它的工作表示感謝。所以在我的代碼中,如果取消Button [] btn = sender作爲Button [];部分按鈕點擊並移動Button [] btn = new Button [5];到一個上面的form1load部分它也是wokrs。謝謝,但是當我使用Button btn = sender作爲Button時; ???我的意思是在哪種情況下,我使用該聲明?我沒有充分理解就寫了這個陳述。現在我看到我不應該寫它。但在哪些情況下我使用它。另一個問題是。是否可以改變按鈕文本的名稱,當我點擊特定的按鈕,讓坐在第2個按鈕? –