- Pictureboxobjname.DataBindings.Add(new Binding(pictureboxproperty,datasource,fieldname))
- appico.DataBindings.Add(new Binding("Image",bindingsource,"oleapplogo",true))
Before proceding to the steps below, I want you to make an Ms-Access 2003 or 2007 database file named “dbApplication”. Create a table inside it and name it “tblApplication”. Use the following specifications:
Chrappname | Text | Handles the application name | |
Oleapplogo | OLE Object | Handles the application ico |
After creating your table, you can add appropriate values to it for instance:
chrappname | oleapplogo | |
PHP | Bitmap Image | |
Apache | Bitmap Image |
Bitmap Image refers the the Bitmap Object that you have inserted using the Paste From Ms-Paint command.
After creating the table and adding appropriate values to it.We are now ready for our sample application. Just follow these steps:
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 and System.Data from the .Net tab.
4. Enter the following code after the line “// Learn more about F# at http://fsharp.net “:
- // Learn more about F# at http://fsharp.net
- //specifies the memory location of the class files
- //that will be needed in our application
- open System
- open System.Windows.Forms
- open System.Data
- open System.Drawing
- //creates a font
- let ffont=new Font("Verdana", 9.75F,FontStyle.Regular, GraphicsUnit.Point)
- //creates a connection object
- let oleconn = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;
- Data Source=C:\Documents and Settings\station 2\My Documents\dbApplication.mdb")
- //creates an OleDbDataAdapter
- let dataadpter = new System.Data.OleDb.OleDbDataAdapter("Select * from tblApplication", oleconn)
- //generates a dataset
- let dataset11 = new DataSet()
- //fills the dataset with recod values
- dataadpter.Fill(dataset11,"tblApplication")|>ignore
- //creates a form
- let dataform = new Form(Text="Manipulate Image Data",AutoScaleDimensions=new System.Drawing.SizeF(60.0F, 13.0F),ClientSize=new System.Drawing.Size(300, 200),StartPosition=FormStartPosition.CenterScreen)
- //creates our controls
- let label1=new Label(Text="App. name:",Location=new System.Drawing.Point(0, 10),AutoSize=true)
- let label2=new Label(Text="Icon:",Location=new System.Drawing.Point(0, 50),AutoSize=true)
- let appnamelabel=new Label(Location=new System.Drawing.Point(140,10),BorderStyle=BorderStyle.FixedSingle)
- let appico=new PictureBox(SizeMode=PictureBoxSizeMode.StretchImage,Location=new System.Drawing.Point(140,50))
- let bindingsource=new BindingSource()
- //creates a binding navigator
- //this will allow us to add navigational buttons to our data grid
- let bindingnav=new BindingNavigator(Dock=DockStyle.None,Location=new System.Drawing.Point(100, 170))
- //creates a toolstrip buttons for our binding navigator
- let movefirst=new ToolStripButton(Text="Top")
- let moveprev=new ToolStripButton(Text="Prev")
- let movenext=new ToolStripButton(Text="Next")
- let movelast=new ToolStripButton(Text="Bottom")
- let exitbutton=new ToolStripButton(Text="Exit")
- //adds the toolstripbuttons to our binding navigator
- bindingnav.Items.Add(movefirst)|>ignore
- bindingnav.Items.Add(moveprev)|>ignore
- bindingnav.Items.Add(movenext)|>ignore
- bindingnav.Items.Add(movelast)|>ignore
- bindingnav.Items.Add(exitbutton)|>ignore
- //adds a function to each buttons
- bindingnav.MoveFirstItem<-movefirst
- bindingnav.MoveNextItem<-movenext
- bindingnav.MovePreviousItem<-moveprev
- bindingnav.MoveLastItem<-movelast
- exitbutton.Click.Add(fun exit->
- //close the form and dataconnection
- dataform.Close()
- oleconn.Close())
- //assigns the dataset name as a bindingsource datasource
- bindingsource.DataSource<-dataset11
- //assigns our table as a binding source datamember
- bindingsource.DataMember<-"tblApplication"
- //assigns the bindingsource name as a binding navigators
- //bindingsource value
- bindingnav.BindingSource<-bindingsource
- //opens the connection
- oleconn.Open()
- //assings the font to our form
- dataform.Font<-ffont
- //adds the controls to our form
- dataform.Controls.Add(label1)
- dataform.Controls.Add(label2)
- dataform.Controls.Add(appnamelabel)
- dataform.Controls.Add(appico)
- dataform.Controls.Add(bindingnav)
- //binds the fieldnames to our label
- appnamelabel.DataBindings.Add(new Binding("Text",bindingsource,"chrappname"))
- appico.DataBindings.Add(new Binding("Image",bindingsource,"oleapplogo",true))
- //executes our application
- dataform.Show()
- Application.Run(dataform)
- // Learn more about F# at http://fsharp.net
- //specifies the memory location of the class files
- //that will be needed in our application
- open System
- open System.Windows.Forms
- open System.Data
- open System.Drawing
- //creates a font
- let ffont=new Font("Verdana", 9.75F,FontStyle.Regular, GraphicsUnit.Point)
- //creates a connection object
- let oleconn = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;
- Data Source=C:\Documents and Settings\station 2\My Documents\dbApplication.mdb")
- //creates an OleDbDataAdapter
- let dataadpter = new System.Data.OleDb.OleDbDataAdapter("Select * from tblApplication", oleconn)
- //generates a dataset
- let dataset11 = new DataSet()
- //fills the dataset with recod values
- dataadpter.Fill(dataset11,"tblApplication")|>ignore
- //creates a form
- let dataform = new Form(Text="Manipulate Image Data",AutoScaleDimensions=new System.Drawing.SizeF(60.0F, 13.0F),ClientSize=new System.Drawing.Size(300, 200),StartPosition=FormStartPosition.CenterScreen)
- //creates our controls
- let label1=new Label(Text="App. name:",Location=new System.Drawing.Point(0, 10),AutoSize=true)
- let label2=new Label(Text="Icon:",Location=new System.Drawing.Point(0, 50),AutoSize=true)
- let appnamelabel=new Label(Location=new System.Drawing.Point(140,10),BorderStyle=BorderStyle.FixedSingle)
- let appico=new PictureBox(SizeMode=PictureBoxSizeMode.StretchImage,Location=new System.Drawing.Point(140,50))
- //opens the connection
- oleconn.Open()
- //assings the font to our form
- dataform.Font<-ffont
- //adds the controls to our form
- dataform.Controls.Add(label1)
- dataform.Controls.Add(label2)
- dataform.Controls.Add(appnamelabel)
- dataform.Controls.Add(appico)
- //binds the fieldnames to our label
- appnamelabel.DataBindings.Add(new Binding("Text",dataset11,"tblApplication.chrappname"))
- appico.DataBindings.Add(new Binding("Image",dataset11,"tblApplication.oleapplogo",true))
- //executes our application
- dataform.Show()
- Application.Run(dataform)