Basically you ned to keep a location pointer (offset, line number, etc).
You open the file and then read from that location froward X amount (maybe a
screen worth of lines or bytes). That amount is essentially a cursor. When
the display control gets a scroll event, you open the file, move
forward/back your cursor size, read the data, display it and close. That
way you're really only ever reading part of the file.
Managed Code in the Embedded World