Under .NET, assigning a new value to the Font property of a control fires a Paint event. For this reason, performing such an assignment from inside the event for the Paint event causes an endless loop, that might eventually throw a StackOverflow exception.
To avoid this loop, the VB6Forn, VB6PictureBox, and VB6UserControl classes have been expanded with a new PrintFont property, which can be assigned without any side-effect. The font assigned to this new property is the one that is actually used by the Print method. The following example shows how to use this property inside the handler for the Paint event of a PictureBox control:
Private Sub Picture1_Paint()
Picture1.FontName = "Arial"
Picture1.Print "A row "
Picture1.FontName = "Times New Roman"
Picture1.Print "Another Row "