2015-02-14 6 views
0

Как изменить цвет панелей на событие button_click? Ниже приведен фрагмент кода, я хочу изменить цвет panel1, когда я нажимаю кнопку «Очистить».Изменение цвета панелей при нажатии кнопки

private void buttClear_Click(object sender, EventArgs e) 
{  
    txtPntX.Text = ""; 
    txtPntY.Text = ""; 

    txtSrtPtX.Text = ""; 
    txtSrtPtY.Text = ""; 
    txtEndPtX.Text = ""; 
    txtEndPtY.Text = ""; 
} 

ответ

1

Что удерживает вас от этого?

panel1.BackColor = Colors.Red; 
+0

duh, похоже, работает только один раз! – TaW

+0

@TaW, что вы имеете в виду? Это «работает» каждый раз, когда вы выполняете эту строку. – nvoigt

+0

хорошо меняется на красный, а затем остается красным. (Просто пытаясь вытащить ногу ;-) – TaW

0

Если вы хотите изменить цвет каждый раз, когда текст изменяется txtSrtPtX TextBox, вам нужно добавить событие TextChanged:

private void txtSrtPtX_TextChanged(object sender, EventArgs e) 
{ 
     panel1.BackColor = Color.Red; 
} 

панель в вашем случае будет изменять цвет в 6 раз:

private void buttClear_Click(object sender, EventArgs e) 
{  
    txtPntX.Text = ""; //1 
    txtPntY.Text = ""; //2  
    txtSrtPtX.Text = ""; //3 
    txtSrtPtY.Text = ""; //4 
    txtEndPtX.Text = ""; //5 
    txtEndPtY.Text = ""; //6 
} 
+0

Это правильно. В то же время, он не отвечает на вопрос, потому что он не просил изменить цвет при смене текста, он явно попросил изменить цвет при нажатии кнопки. – nvoigt

0

Почему хватит просто использовать:

private void buttClear_Click(object sender, EventArgs e) 
{  
    txtPntX.Text = ""; 
    txtPntY.Text = ""; 
    txtSrtPtX.Text = ""; 
    txtSrtPtY.Text = ""; 
    txtEndPtX.Text = ""; 
    txtEndPtY.Text = ""; 
    panel1.BackColor = Color.Red; // < This one 
} 
Смежные вопросы