ベストプラクティスとは何かについての一般的な質問:
public void Foo()
{
    int x = 5;
    myControl.Click += (o, e) =>
    {
        x = 6;
    };
}
xラムダ イベント ハンドラ内で変数を使用していることに注意してください。
また:
public class Bar
{
    private int x = 5;
    public void Foo()
    {
        Control myControl = new Control();
        myControl.Click += new EventHandler(myControl_Click);
    }
    private void myControl_Click(object sender, EventArgs e)
    {
        x = 6;
    }
}
ここでxは、クラスのプライベート メンバーであるため、イベント ハンドラーでアクセスできます。
xここで、(何らかの理由で) コードの他の場所は必要ないとしましょう。どの方法がより良い方法でしょうか?