Ну, проще всего это сделать с помощью лямбда-выражения или анонимного метода:
window.LocationChanged += (sender, args) => label.Text = window.Top.ToString();
Если вы используете C # 1.1, вам нужно быть немного хитрее из-за того, что метка автоматически захватывается в C # 2+ - вам нужно создать новый класс, подобный этому:
internal class LocationChangeNotifier
{
private readonly Label label;
internal LocationChangeNotifier(Label label)
{
this.label = label;
}
internal void HandleLocationUpdate(object sender, EventArgs e)
{
label.Text = ((Control) sender).Top.ToString();
}
}
затем используйте его как:
LocationChangeNotifier notifier = new LocationChangeNotifier(label);
window.LocationChanged += new EventHandler(notifier.HandleLocationUpdate);
Разве записанные переменные не велики? :)