Μια λυση ειναι αυτη που ειπε και ο Παναγιωτης. Αλλα εγω θα σου προτεινα να φτιαξεις ενα control και μετα να το βαλεις σα components, για να μην εχεις 213123123 γραμμες κωδικα στην main form, για πιο ευκολο debuggng

.
τσεκαρε το παρακατω για να παρεις μια ιδεα.
public class LabelEditable_ : Panel
{
//vars
private Label label;
private TextBox textbox;
//props
public string Txt { get { return label.Text; } set { label.Text = value; } }
//events
public event Action<string> TextChnanged;
public LabelEditable_()
{
label = new Label { Height = this.Height, Width = this.Width , Text = this.Text };
textbox = new TextBox { Height = this.Height, Width = this.Width -2};
this.TextChnanged = new Action<string>(OnTextChanged);
label.DoubleClick += delegate
{
Controls.Remove(label);
Controls.Add(textbox);
textbox.Focus();
};
textbox.KeyDown += delegate(object s, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
label.Text = textbox.Text;
Controls.Remove(textbox);
Controls.Add(label);
TextChnanged(textbox.Text);
}
};
this.Controls.Add(label);
}
protected virtual void OnTextChanged(string e)
{
//foo
}
}