Title: Programming Interface Controls
1Programming Interface Controls
2User Interface Controls
- Form
- MessageBox
- Common Controls
- Button, TextBox, MaskedTextBox, List Box, Option
Button, Check Box, CheckedListBox, numericUpDown - Container controls
- GroupBox, etc.
- Others
- Timer
- ToolTip
- Components
3Working with Form
- To close a form
- this.Close()
- Events
- Load, Activated, DeActivate, Closing, Closed
4Form Closing Event
private void Form2_FormClosing(object sender,
FormClosingEventArgs e) if
(MessageBox.Show("Are you sure?", "Warning",
MessageBoxButtons.YesNo) DialogResult.Yes)
e.Cancel false
else
e.Cancel true
Note sender object that triggers the event e
event argument that provides actions to handle
the event.
5MessageBox
MessageBox.Show(message) MessageBox.Show(message,
Caption) MessageBox.Show(message, Caption,
Buttons) Note 1. In each format, arguments are
positional and required. 2. This object returns a
DialogResult data type. Possible values for a
DialogResult data type are Abort, Cancel,
Ignore, No, None, OK, ReTry, and Yes. To test
the return value Dim ReturnVal as
DialogResult ReturnValMessageBox(hello,
..) If ReturnValDialogResult.OK
6Text Box
- Useful properties
- BackColor, BorderStyle
- ReadOnly
- Enable
- Visible
- Password Character
- Multiline
- ScrollBar
- Text
- Useful events
- TextChanged default event
- Validating useful for validating data entered
in the box
7Input Validation
- Numbers are checked to ensure they are
- Within a range of possible values
- Reasonableness
- Not causing problems such as division by 0.
- Containing only digits
- IsNumeric
- Texts are checked to ensure correct format.
- Phone , SSN.
- Required field
- Textbox
- Set CauseValidation property to true.
- Use the Validating event
- Triggered just before the focus shifts to other
control.
8Data Entered in Textbox1 Must Be between 10 and 30
private void textBox1_Validating(object sender,
CancelEventArgs e) double
enteredData enteredData
double.Parse(textBox1.Text) if
(enteredDatalt10 enteredDatagt30)
MessageBox.Show("Pls enter a
number between 10 and 30")
e.Canceltrue
9Testing for digits only
This example uses the Double.Parse method trying
to convert the data entered in the box to double.
If fail then it is not numeric.
private void textBox1_Validating(object sender,
CancelEventArgs e) try
double.Parse(textBox1.Te
xt) e.Cancel false
catch
e.Cancel true
MessageBox.Show("Enter digits only")
Note VB has an IsNumeric function and Excel has
an ISNumber function.
10String Methods
- ToUpper, ToLower
- Length Number of characters
- TrimStart, TrimEnd, Trim
- Substring(Start), Substring(Start, length)
- IndexOf(SearchString), IndexOf(SearchString,
Start) - 0 based index
- Case-sensitive
- eNameDavid
- PositioneName.IndexOf(d)
- Return 1 if the searchString is not found.
- Note Text property of a Textbox has all the
string methods. - Ex. TextBox1.Text.Substring(0,2)
11Extract First Name and Last Name from Full Name
in this format FirstName LastName
int indexSpace string firstName, lastName
indexSpace textBox2.Text.IndexOf("
") firstName textBox2.Text.Substring(0,
indexSpace) lastName textBox2.Text.Substring(in
dexSpace 1) MessageBox.Show(firstName) Message
Box.Show(lastName)
12Group Box
- It is a container control.
- Controls in a Group Box should move with the box.
13Radio Button
- Radio buttons must be grouped together inside a
container such as a GroupBox or a form. - When the user selects an option all other options
in the same group are deselected. - Properties
- Checked True/False.
- Default button Set the Checked property to true
at the design time. - Events
- CheckedChanged
14Example
private void button1_Click(object sender,
EventArgs e) if
(radioButton1.Checked)
MessageBox.Show("Button 1 checked")
else if (radioButton2.Checked)
MessageBox.Show("Button 2 checked")
else MessageBox.Show("Button 3
checked")
15Tuition Rules
For undergraduate If total units lt 12, then
tuition 1200 Otherwise, tuition 1200 200
per additional unitFor graduate If total
units lt 9, then tuition 1500 Otherwise,
tuition 1500 400 per additional unit
16Nested Decision Structures
- You can create nested decision structures to test
more than one condition. - Nested means one inside another
- In C, a generic format is
if (expression) if (expression)
statements else
statements else
statements
17private void button1_Click(object sender,
EventArgs e) double units,
tuition unitsdouble.Parse(textBox1.T
ext) if (radioButton1.Checked)
if (units lt 12)
tuition 1200 else
tuition 1200 200 (units -
12) else
if (units lt 9)
tuition 1500 else
tuition 1500 400 (units - 9)
18Check Box
- Check boxes do not belong to a group even when
they are grouped in a Group Box. - Checked property and checkedChanged event
19Which CheckBoxes are cheked?
private void button1_Click(object sender,
EventArgs e) string box""
if (checkBox1.Checked) box "box1"
if (checkBox2.Checked) box "box2"
if (checkBox3.Checked) box "box3"
MessageBox.Show(box)
Note Cannot use if-else-if
20Rules for Discount
If total sales is greater than 1000, then the
customer will get a 10 discount otherwise, the
customer will get a 5 discount. If the
customer is a club member, then applies 20 off
the discounted charges.
21private void button1_Click(object sender,
EventArgs e) try
double totalSales,
discountRate, netPay string
myMsg totalSales
double.Parse(textBox1.Text) if
(totalSales lt 1000)
discountRate .05 else
discountRate .1
netPay totalSales (1 - discountRate)
if (checkBox1.Checked)
netPay netPay (1 - .20)
textBox2.Text netPay.ToString("C")
catch (Exception ex)
MessageBox.Show(ex.Message)
22List Box
- Useful properties
- Items The items in the listBox. It is a
collection strcture. Items can be entered at the
design time or entered in code. - 0-based index
- SelectionMode one or multi selection
- SelectedItem
- SelectedIndex
- Methods
- Add
- Clear
- Event SelectedIndexChange
23ListBox Items Collections
- Methods
- ADD ListBox1.Items.Add("Apple")
- Item Retrieve an object from Items
- ListBox1.Items.Item(Index) or ListBox1.Items(Index
) - 0-based index
- Insert ListBox.Items.Insert(Index, item)
- Remove Delete an object with a position index or
key. - ListBox.Items.Remove(Item)
- ListBox.Items.RemoveAt(Index)
- Clear ListBox.Items.Clear()
- Count Return the number of objects in a
collection. - ListBox.Items.Count
24Adding Items Using Code
private void Form11_Load(object sender,
EventArgs e)
listBox1.Items.Add("Apple")
listBox1.Items.Add("Orange")
listBox1.Items.Add("Banana")
listBox1.Items.Add("Strawberry")
listBox1.Items.Add("Kiwi")
private void listBox1_SelectedIndexChanged(object
sender, EventArgs e)
MessageBox.Show(listBox1.SelectedItem.ToString())
MessageBox.Show(listBox1.SelectedInde
x.ToString())
25Working with Radiobuttons, Listbox
- Create a form with 2 radiobuttons. When
radiobutton1 is selected, populate a listbox with
fruit names. otherwise populate the listbox with
vegetable names. Then, dsplay the fruit or
vegetables name in a textbox when user select an
item from the listbox.
26Create a Loan Payment Form
27The switch Statement
- The switch statement lets the value of a variable
or an expression determine which path of
execution the program will take - It is a multiple-alternative decision structure
- It can be used as an alternative to an if-else-if
statement that tests the same variable or
expression for several different values
28Generic Format of switch Statement
- swtich (testExpression)
-
- case value_1
- statements
- break
- case value_2
- statements
- break
-
- case value_n
- statements
- break
- default
- statements
- break
- The testExpression is a variable or an expression
that given an integer, string, or bool value.
Yet, it cannot be a floating-point or decimal
value. - Each case is an individual subsection containing
one or more statements, followed by a break
statement - The default section is optional and is designed
for a situation that the testExpression will not
match with any of the case
29Sample switch Statement
- switch (month)
-
- case 1
- MessageBox.Show(January)
- break
- case 2
- MessageBox.Show(February)
- break
- case 3
- MessageBox.Show(March)
- break
- default
- MessageBox.Show(Error Invalid month)
- break
30Using VB.Nets PMT Function
- Add a reference to Microsoft Visual Baisc
- From the Solution Explorer, right-click the
References node, then click Add Reference - From the .Net tab, select Microsoft Visual Baisc
- Add this code to the form
- using Microsoft.VisualBasic
31 private void button1_Click(object sender,
EventArgs e) double loan,
term, rate, payment loan
Double.Parse(textBox1.Text) if
(radioButton1.Checked) term 15
else
term 30 switch
(listBox1.SelectedIndex)
case 0 rate.05
break case 1
rate.06
break case 2
rate .07 break
case 3 rate .08
break case 4
rate .09
break default
rate 0.05 break
payment Financial.Pmt(rate /
12, term 12, -loan) textBox2.Text
payment.ToString()
32How to Use VBs IsNumeric Function
- Add a reference to Microsoft VisualBasic
- Then, add this code to the form
- using Microsoft.VisualBasic
- Microsoft.VisualBasic.Information class contains
the IsNumeric function
if (! Information.IsNumeric(textBox1.Text))
e.Cancel true
MessageBox.Show("Enter digits only")
else
e.Cancelfalse
33Switch sections ends with a break
statementExampleEnter a digit and test its value
int myInt int.Parse(textBox1.Text)
switch (myInt)
case 0 case 1
case 2 MessageBox.Show("
0,1, or 2") break
case 3 case 4
case 5 MessageBox.Show("
3,4, or 5") break
default
MessageBox.Show("between 6 and 9")
break
34ComboBox
- Allows the user to type text directly into the
combo box. - Use the Text property to get entered item
- ComboBox1.Text
- The index for an entered item is 1.
- Search an item in the list ComboBox1.Items.IndexO
f(search text) - Found return the index of the search text.
- Not found return 1.
- How to add an entered item to the list?
35Timer
- Properties
- Enabled -- must set to True.
- Interval
- Tick Event
private void timer1_Tick(object sender,
EventArgs e) textBox1.Text
System.DateTime.Now.ToString()
36Use a Timer to Close a Form
int counter 0 private void
timer1_Tick(object sender, EventArgs e)
counter1 if (counter gt 50)
this.Close()