如何在c#中为其中一个表格布局面板控件着色

时间:2018-03-16 23:28:43

标签: c# windows forms

我创建了一个如下所示的Windows窗体: My Windows Form

我想要做的是通过将其编号传递给Form构造函数来为这些编号按钮中的一个着色。这是我尝试过的,但没有明显的变化。有什么建议吗?

public SeatSelection(string seatNumber)
    {
        InitializeComponent();
        foreach(Control ctrl in this.tableLayoutPanel1.Controls)
        {
            if (ctrl.Text == seatNumber)
            {
                ctrl.BackColor = Color.Red;
            }
        }
    }

if语句确实找到了,BackColor确实发生了变化,但表单不会更新: Watch

1 个答案:

答案 0 :(得分:0)

对不起伙计,我的坏人。这段代码很好。我在其他地方犯了一个错误。我没有意识到在调用这个之后我立即调用了默认构造函数。在我的if语句中错过了else关键字,所以它是

int seatNumber = Convert.ToInt32(txtSeatNumber.Text);
if(seatNumber>=1 && seatNumber<=21)
            seats = new SeatSelection(txtSeatNumber.Text);
        seats = new SeatSelection();
        seats.Show();

而不是

int seatNumber = Convert.ToInt32(txtSeatNumber.Text);
if(seatNumber>=1 && seatNumber<=21)
            seats = new SeatSelection(txtSeatNumber.Text);
        else
            seats = new SeatSelection();
        seats.Show();