So far I was putting all code that was reaction to event directly into event handling method.  

Yesterday I saw somebody somewhere mentioning that only minimum of code should go there.  

Is that true ? Or whats the best practice ?

e.g. which one of the examples is better from program-smooth-working point of view, and why, if you may:
Fig1:

```
private void MainForm_DragDrop(object sender, DragEventArgs e)
{
    var DropPosX = e.X;   
    string[] s = (string[])e.Data.GetData(DataFormats.FileDrop, false);    
    for (int i = 0; i < s.Length; i++)
    {
        CheckFile(s[i])
        LoadFile(s[i]);
        // ..big chunk of code..
    }    
    // ..big chunk of code..    
}

```

Fig2:

```
DoDragDrop(int[] s, int DropPosX)
{
    for (int i = 0; i < s.Length; i++)
    {
        CheckFile(s[i])
        LoadFile(s[i]);
        // ..big chunk of code..
    }    
    // ..big chunk of code..
}

private void MainForm_DragDrop(object sender, DragEventArgs e)
{
    var DropPosX = e.X;    
    string[] s = (string[])e.Data.GetData(DataFormats.FileDrop, false);    
    DoDragDrop(s, DropPos);
}

```

..or even  

Fig3:

```
int DropPosX;
string[] s;

DoDragDrop()
{
    for (int i = 0; i < s.Length; i++)
    {
        CheckFile(s[i])
        LoadFile(s[i]);
        // ...
    }    
    // ...
}

private void MainForm_DragDrop(object sender, DragEventArgs e)
{
    DropPosX = e.X;    
    s = (string[])e.Data.GetData(DataFormats.FileDrop, false);    
    DoDragDrop();
}

```