- // Learn more about F# at http://fsharp.net
- //use the f# standard library
- open System
- //use media classes
- open System.Media
- //specify the memory location of the classes used in drawing objects
- //required to draw the listbox item text
- open System.Drawing
- //specify the location of the form class
- open System.Windows.Forms
- //creates a form and assign a "Play System Sounds" caption to it
- let soundform=new Form(Text="Play System Sounds",StartPosition=FormStartPosition.CenterScreen,AutoScaleMode=AutoScaleMode.Font)
- //creates a label and set its Text to “Count”
- let lbl=new Label(Text="System sounds:", Location=new System.Drawing.Point(20,10),AutoSize=true)
- //makes a listbox
- let soundlistbox=new ListBox(Sorted=true,Location=new System.Drawing.Point(20,30),FormattingEnabled=true)
- //adds an item to the listbox when the form is loaded
- soundform.Load.Add(fun items->
- //adds the items and ignore the passed index position values
- soundlistbox.Items.Add("Asterisk")|>ignore
- soundlistbox.Items.Add("Beep")|>ignore
- soundlistbox.Items.Add("Exclaimation")|>ignore
- soundlistbox.Items.Add("Hand")|>ignore
- soundlistbox.Items.Add("Question")|>ignore)
- soundlistbox.Click.Add(fun playsound->
- if soundlistbox.SelectedIndex=0 then
- SystemSounds.Asterisk.Play()
- MessageBox.Show("Asterisk", "System Sounds", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)|>ignore
- if soundlistbox.SelectedIndex=1 then
- SystemSounds.Beep.Play()
- MessageBox.Show("Beep", "System Sounds", MessageBoxButtons.OK)|>ignore
- if soundlistbox.SelectedIndex=2 then
- SystemSounds.Exclamation.Play()
- MessageBox.Show("Exclaimation", "System Sounds", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)|>ignore
- if soundlistbox.SelectedIndex=3 then
- SystemSounds.Hand.Play()
- MessageBox.Show("Hand", "System Sounds", MessageBoxButtons.OK, MessageBoxIcon.Hand)|>ignore
- if soundlistbox.SelectedIndex=4 then
- SystemSounds.Question.Play()
- MessageBox.Show("Question", "System Sounds", MessageBoxButtons.OK, MessageBoxIcon.Question)|>ignore)
- //displays the label to our form
- soundform.Controls.Add(lbl)
- //adds the listbox to our form
- soundform.Controls.Add(soundlistbox)
- soundform.Show()
- Application.Run(soundform)
This will generate the following output: