Gradient and Textured Form in Visual F#

To create a gradient form in Visual F#, simply use a gradient brush and use that brush to draw a rectangle that will cover the whole form area. To create a LinearGradientBrush, use the following syntax:
  1. let newbrush=new LinearGradientBrush(brushpoint,color1,color2,strokeangle)  
For instance:
  1. let newbrush=new LinearGradientBrush(rect,Color.Green,Color.YellowGreen,45.0F)  
Follow these steps to create a gradient form using the LinearGradientBrush drawing method:

1. Click Start>All Programs>Microsoft Visual Studio 2008>Microsoft Visual Studio 2008.

2. Click File>New>Project>Select Visual F# in the project types>Select F# application in the Visual Studio installed templates category.

3. Click the Project menu>Add reference>Click the .Net tab>Locate then double-click System.Windows.Forms. Do step 3 again and this time, select System.Drawing from the .Net tab.

4. Enter the following code after the line “// Learn more about F# at http://fsharp.net “:

  1. // Learn more about F# at http://fsharp.net  
  2. //specifies the namespace memory location of the classes that  
  3. //will be used in our application  
  4. open System  
  5. open System.Windows.Forms  
  6. open System.Drawing  
  7. open System.Drawing.Drawing2D  
  8. //creates our form  
  9. let myform= new Form(Text="Add Gradient Background")  
  10. //create a rectangle  
  11. //change its upper left x and y coordinates to 0,0  
  12. //sets it width and height to the width and height of the form  
  13. let rect=new Rectangle(0,0,myform.Width,myform.Height)  
  14. //creates a gradient brush  
  15. let newbrush=new LinearGradientBrush(rect,Color.Green,Color.YellowGreen,45.0F)  
  16. //paints our form with a solid and filled rectangle  
  17. myform.Paint.Add(fun fillrect->fillrect.Graphics.FillRectangle(newbrush,rect))   
  18. //executes our application  
  19. myform.Show()  
  20. Application.Run(myform)  

This will display the following output:



To create a textured form, use a TextureBrush to draw a rectangle that will cover the whole form area then display that rectangle on your form.

For instance:
  1. // Learn more about F# at http://fsharp.net  
  2. //specifies the namespace memory location of the classes that  
  3. //will be used in our application  
  4. open System  
  5. open System.Windows.Forms  
  6. open System.Drawing  
  7. open System.Drawing.Drawing2D  
  8.   
  9. //creates our form  
  10. let myform= new Form(Text="Add Textured Background")  
  11. //draws a rectangle with the same width and height as our form  
  12. let drawrect=new Rectangle(0,0,myform.Width,myform.Height)  
  13. //creates a texturedbrush using a windows default image  
  14. //tile the image Vertically and Horizontally  
  15. let newbrush=new TextureBrush(new Bitmap("C:\Windows\Zapotec.bmp"),WrapMode=WrapMode.TileFlipXY)  
  16. //applies the brush in drawing our rectangle  
  17. myform.Paint.Add(fun fillrect->fillrect.Graphics.FillRectangle(newbrush, drawrect))   
  18. //executes our application  
  19. myform.Show()  
  20. Application.Run(myform)