说明:我想在TabPage页中添加N行N列的标签,来模拟影院中的座位 代码如下:
private void InitSeats(int seatRow,int seatLine,TabPage tb)
{
Label label;
Seat seat;//Seat是一类,对此问题无影响,特此说明。
for (int i = 0; i < seatRow; i++)
{
for (int j = 0; j < seatLine; j++)
{
label = new Label();
label.BackColor = Color.Yellow;
label.AutoSize = false;
label.Font = new System.Drawing.Font("宋体", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point,((byte)(134)));
label.Location = new System.Drawing.Point(59, 60);
label.Name = "lbl" + (j + 1).ToString() + "_" + (i + 1).ToString();
label.Size = new System.Drawing.Size(50, 25);
//设置座位号
label.Text = (j + 1).ToString() + "-" + (i + 1).ToString();
label.TextAlign = ContentAlignment.MiddleCenter;
label.Location = new Point(60 + (i * 90), 60 + (j * 60));
//所有的标签都绑定到同一事件
label.Click += new System.EventHandler(lblSeat_Click);
tb.Controls.Add(label);
labels.Add(label.Text, label);//labels为Dictionary<string, Label> labels = new Dictionary<string, Label>();
//实例化一个座位
seat = new Seat((j + 1).ToString() + "-" + (i + 1).ToString(), Color.Yellow);
//保存的座位集合
cinema.Seats.Add(seat.SeatNum, seat);
}
}
}
光标停在cinema.Seats.Add(seat.SeatNum, seat);并提示求助:未将对象引用设置到对象的实例。其他的均为问题。
我想,由于是在tabPage中添加控件,是要先添加Label再定义的Location抑或是相反,但是两个我都试过了,一样的结果。崩溃。
private void InitSeats(int seatRow,int seatLine,TabPage tb)
{
Label label;
Seat seat;//Seat是一类,对此问题无影响,特此说明。
for (int i = 0; i < seatRow; i++)
{
for (int j = 0; j < seatLine; j++)
{
label = new Label();
label.BackColor = Color.Yellow;
label.AutoSize = false;
label.Font = new System.Drawing.Font("宋体", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point,((byte)(134)));
label.Location = new System.Drawing.Point(59, 60);
label.Name = "lbl" + (j + 1).ToString() + "_" + (i + 1).ToString();
label.Size = new System.Drawing.Size(50, 25);
//设置座位号
label.Text = (j + 1).ToString() + "-" + (i + 1).ToString();
label.TextAlign = ContentAlignment.MiddleCenter;
label.Location = new Point(60 + (i * 90), 60 + (j * 60));
//所有的标签都绑定到同一事件
label.Click += new System.EventHandler(lblSeat_Click);
tb.Controls.Add(label);
labels.Add(label.Text, label);//labels为Dictionary<string, Label> labels = new Dictionary<string, Label>();
//实例化一个座位
seat = new Seat((j + 1).ToString() + "-" + (i + 1).ToString(), Color.Yellow);
//保存的座位集合
cinema.Seats.Add(seat.SeatNum, seat);
}
}
}
光标停在cinema.Seats.Add(seat.SeatNum, seat);并提示求助:未将对象引用设置到对象的实例。其他的均为问题。
我想,由于是在tabPage中添加控件,是要先添加Label再定义的Location抑或是相反,但是两个我都试过了,一样的结果。崩溃。
{
Label label;
Seat seat;if(seat!=null)
{
}
}
cinema是在哪儿定义的?没看到
Label label;
Seat seat=null;