 <p>If you want to draw directly on the form, there are many tutorials and examples:</p> <ul> <li><a href="http://msdn.microsoft.com/en-us/library/aa287594%28v=vs.71%29.aspx" rel="nofollow">Code: Drawing Graphics on a Windows Form (Visual C#)</a></li> <li><a href="http://www.techotopia.com/index.php/Drawing_Graphics_in_C_Sharp" rel="nofollow">Techtopia: Drawing Graphics in C Sharp</a></li> <li><a href="http://www.homeandlearn.co.uk/csharp/csharp_s15p1.html" rel="nofollow">Graphics in Visual C# .NET</a></li> <li><a href="http://www.codeguru.com/csharp/csharp/cs_graphics/customizinguserinterfaces/article.php/c6147" rel="nofollow">Codeguru: Getting Graphics to stay on a Form (C#)</a></li> </ul> <p>If you are just trying to set a form to use a particular image, you might consider placing a <code>PictureBox</code> and setting its .Image property to that of your generated graphic:</p> <pre><code>pictureBox1.Image = myBitmap; </code></pre> <p>There is also the form's <code>.BackgroundImage</code> property:</p> <pre><code>form1.BackgroundImage = myBitmap; </code></pre> <p>The white background with red cross means that the requested resource is unavailable or not in a recognized format.</p> <p>Do you need to generate a new graphic every time the form is redrawn? If so, then the <code>Paint</code> event is fine, but that may be why things are taking a long time; i.e. lots of redraws whenever the form is invalidated. If the map doesn't need to change then one of the above suggestions would probably be better.</p> <p>If redrawing the graphic is the intention, then it would be necessary to discuss how you are generating the graphic in order to diagnose the problem. Because of the red "X" problem you are having, it's possible the graphic is not in the correct format, so it may help to post some of that code for further assistance.</p>