Changing the Pointer when the mouse hovers an object(Visual F#)

Posted by Rey Dacoco in

To change the mouse pointer when the mouse hovers an object, use the Cursor property. All form controls in Visual F# has Cursor property. To use the Cursor property, use the following syntax:

Objectvariable.Cursor<-Cursors.CursorStyle
For example:
exitbutton.Cursor<-Cursors.UpArrow
Some CursorStyles values are NoMove2D,Cross and PanSouth. To understand the usage of the Cursor property, try the following example: 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 “:
// Learn more about F# at http://fsharp.net
//specify the namespace memory location
//of the classes that will be needed in our application
open System
open System.Drawing
open System.Windows.Forms
//create our controls
let ffont=new System.Drawing.Font("Microsoft Sans Serif",9.0F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point)
let myform=new Form(Text="Use Cursors",AutoScaleDimensions=new System.Drawing.SizeF(60.0F, 13.0F),ClientSize=new System.Drawing.Size(207, 133),StartPosition=FormStartPosition.CenterScreen)
let llabel1=new Label(Text="Hand Cursor",AutoSize=true,Location=new System.Drawing.Point(20, 80))
let llabel2=new Label(Text="AppStarting Cursor",AutoSize=true,Location=new System.Drawing.Point(120,80))
//add the controls into our form
myform.Controls.Add(llabel1)
myform.Controls.Add(llabel2)
//add a mousehover and mouseleave events to our controls
//when the mouse hovers our labels, its cursor style,forecolor, and font size will change
//when the mouse leaves our control, the cursor style, label forecolor, and font size will
//return back to default
llabel1.MouseHover.Add(fun disphandcursor->
                  llabel1.ForeColor<-Color.Red
                  llabel1.Cursor<-Cursors.Hand
                  let ffont=new System.Drawing.Font("Microsoft Sans Serif",12.0F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point)
                  llabel1.Font<-ffont)
llabel1.MouseLeave.Add(fun changefontsize->
                  llabel1.ForeColor<-Color.Empty
                  let ffont=new System.Drawing.Font("Microsoft Sans Serif",9.0F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point)
                  llabel1.Font<-ffont)
llabel2.MouseHover.Add(fun dispappcursor->
                  llabel2.ForeColor<-Color.Red
                  llabel2.Cursor<-Cursors.AppStarting
                  let ffont=new System.Drawing.Font("Microsoft Sans Serif",12.0F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point)
                  llabel2.Font<-ffont)
llabel2.MouseLeave.Add(fun retainsfontsize->
                  llabel2.ForeColor<-Color.Empty
                  let ffont=new System.Drawing.Font("Microsoft Sans Serif",9.0F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point)
                  llabel2.Font<-ffont)              
myform.Show()
//executes our application
Application.Run(myform)
5. Click the run icon to execute your application. You should now see an output similar to the following screen shot:

Contributor

My photo
I am just a simple man with a simple mind. And this is my simple blog. New Posts will be available soon. Enjoy reading and never stop learning:)

Total Pageviews

Link List

Archives

Got questions? You can reach me here: