Tengo un control de usuario con 2 etiquetas y dos cuadros de texto. Cuando se hace clic en la etiqueta, la propiedad visible del cuadro de texto se establece en verdadero. Aquí está el código que he usado:
private void label_Heading_Click(object sender, EventArgs e) { label_Heading.Visible = false; textBox_Heading.Text = label_Heading.Text; textBox_Heading.Visible = true; textBox_Heading.Focus(); }Después de que el cuadro de texto pierde el foco, su accesorio visible se establece en falso y la etiqueta se actualiza con el texto. Código:
private void textBox_Heading_Leave(object sender, EventArgs e) { textBox_Heading.Visible = false; if(textBox_Heading.Text != "") label_Heading.Text = textBox_Heading.Text; label_Heading.Visible = true; }El código para crear controles de usuario al hacer clic:
private void label1_Click(object sender, EventArgs e) { TaskCard _taskCard = new TaskCard(++TOTAL_ITEM_COUNT, PanelName); panel_DeletedItem.Controls.Add(_taskCard); panel_DeletedItem.Refresh(); }Este código funciona bien cuando se agrega un solo control de usuario de este tipo a un panel. Pero si agrego más de uno, el código funciona solo para el primer control de usuario, pero no funcionará para los nuevos, aunque el evento se dispara para cada control de usuario. ¿Que me estoy perdiendo aqui? Por favor recomiende.
Si agrego un mbox a este código, el mbox se muestra para cualquier control, pero el resto del código no funcionará, excepto el primero.
private void label_Heading_Click(object sender, EventArgs e) { MessageBox.Show("Test"); // this will display, but the rest of the code is not executed or changes are not visible, ie, the teboxes are not displayed even if I click the labels label_Heading.Visible = false; textBox_Heading.Text = label_Heading.Text; textBox_Heading.Visible = true; textBox_Heading.Focus(); }