You don't pass anything to the PrintPage event handler. You call Print and the PrintDocument raises its PrintPage event, which you handle. the event handler then retrieves whatever data it needs. You don't have to use a TextBox though. What data type is the Text property of a TextBox? It's a String, so just use a String variable.

By the way, you don't have to create a SolidBrush yourself when it's a standard colour. The Brushes class has a property for each standard Color that returns a SolidBrush object. There's a corresponding Pens class for Pen objects. If you ever do create a Brush or a Pen though, make sure that you dispose it when you're done with it, as you must do with all objects that have a Dispose method. The proper way to do that is to create them with a using statement, in which case they are disposed implicitly at the End Using statement.