CIS162AD C

1 / 42
About This Presentation
Title:

CIS162AD C

Description:

Programmer-Defined Methods. Before coding some programmer-defined methods, let's ... This means that as programmers we should not be concerned how the methods ... – PowerPoint PPT presentation

Number of Views:40
Avg rating:3.0/5.0
Slides: 43
Provided by: MCMar2
Learn more at: http://www.mesacc.edu

less

Transcript and Presenter's Notes

Title: CIS162AD C


1
CIS162AD - C
  • Methods, Menus, and Dialog Boxes
  • 05_methods_menus.ppt

2
Overview of Topics
  • Top-Down Design
  • Built-in Methods
  • Black Box Analogy
  • Programmer-Defined Methods
  • Methods Signature Overloading
  • Pass-by-value Arguments
  • Menu Designer
  • Context Menus (right-click)
  • Common Dialog Boxes

3
Top-Down Design
  • A design method where the major task to be
    accomplished is divided into subtasks.
  • Divide-and-Conquer
  • Stepwise Refinement
  • The goal is to write a modular program that is
    easier to read and maintain.

4
Top-Down Design - Analogy
  • A design method where the major task to be
    accomplished is divided into subtasks.
  • Major Task clean house
  • Subtasks dust, vacuum, sweep, mop
  • Programming example.
  • Major Task CS5 Sales Calculator
  • Subtasks input qty, pricecalculate sales
    tax, shipping, subtotal, etcdisplay total bill

5
Subtasks
  • Each subtask should perform a single well-defined
    task.
  • Each subtask may produce some result.
  • Treat them as small programs.
  • Input -gt Process -gt Output
  • These subtasks can be used at different times in
    one program or placed in a library and used by
    many different programs.
  • The int.Parse method is a complicated task that
    converts strings to numbres, and is used by many
    different programs.

6
Top-Down Design Implementation
  • Top-Down design is implemented using methods.
  • A method is a collection of statements that are
    grouped together to perform a specific operation.
  • Methods have inputs called arguments.
  • Methods can be defined to return no value, but if
    it does return a value, only one value can be
    returned through the return statement.
  • Methods can return more than one value through
    call-by-reference arguments (more on this later).

7
Programmer-Defined Methods
  • Before coding some programmer-defined methods,
    lets look at some built-in methods a little
    closer.
  • It will help understand what we are trying to
    develop if we look at how methods are used.

8
Built-in Methods
  • They are like small programs.
  • They have their own input process output.
  • They can have one or more inputs.
  • But methods can only return one output.
  • As programmers, we dont get to see the code
    (process) of built-in methods.
  • The process is like a black box

9
Black Box Analogy
  • Many methods are designed as black boxes.
  • This means that as programmers we should not be
    concerned how the methods performs its
    processing.
  • We only need to know the inputs, outputs, and
    what it does.
  • We know what is required to use it, but we dont
    know how it does its calculations. 
  • Develop your own methods with the Black Box
    Analogy in mind.

10
Convert Text to Integer int.Parse
  • Convert Text to Integer method is named
    int.Parse.
  • The documentation for int.Parse states the value
    that will be returned, method name, and the type
    and number of arguments. intNumber
    int.Parse(String) returnedValue MethodName
    (arguments)
  • Int.Parse takes one argument that is a String.
  • The method is called using the following
    syntaxIf txtQuantity.Text contains 3 then
    the function call intNumber
    int.Parse(txtQuantity.Text)would return a value
    of 3 into intNumber.

11
Method Call
  • We issue a method call when we use it.
  • Processing control is passed to the method until
    it completes its task and returns control back to
    the calling method.
  • Most methods return a value back,but only one
    value can be returnedthrough the return
    statement.

12
Round Method
  • Methods can only return one value, but may have
    more than one argument.decWholeNum
    decimal.Round(decNum, 0)
  • The value returned is a whole number with no
    digits after the decimal point.

13
Methods Signature Overloading
  • Method overloading occurs when more than one
    method with the same name is defined, but differ
    in the parameter list.MessageBox.Show(TextMessag
    e)MessageBox.Show(TextMessage,
    TitleBar)MessageBox.Show(TextMessage, TitleBar,
    ButtonType)MessageBox.Show(TextMessage,
    TitleBar, ButtonsType, Icon)
  • Each methods signature is unique and consists
    of
  • Method name
  • The number, data types, and order of its
    parameters
  • Parameters can also be modified with the keywords
    ref and out (These keywords are covered in next
    powerpoint presentation)
  • The signature does NOT include the data type of
    the returned valueand the names used to identify
    the parameters.

14
Small Programs
  • Think of each method as a small program with
    input, process, and output steps. Output
    lt Process lt Input
  • returnedValue MethodName (arguments)
  • intNumber int.Parse(String)

15
Programmer-Defined Methods
  • The single value that a method returns can be a
    string or numeric.
  • Two Components 1. Method Definition 2. Method
    Call

16
Function Definition - Syntax
  • Syntaxprivate dataType MethodName(arguments)
    statement(s) return expression
  • dataType is where we specify what type of value
    is being returned, string or numeric.
  • Use the return statement to return the value.
  • Variables that will be used to store the values
    sent into the method are listed in parentheses as
    arguments.

17
Method Definition - Example
  • private decimal calcExtendedPrice(int intQty,
    decimal decPrice) decimal decExtendedPrice
    decExtendedPrice intQty decPrice return
    decExtendedPrice
  • decimal is the data type of the value being
    returned.
  • calcExtendedPrice is the Method Name.
  • intQty and decPrice are the arguments passed to
    method.
  • The signature of this method is
    calcExtendedPrice(int, decimal)

18
Return Statement
  • Return statement returns the value back to the
    variable listed to the left of the equal sign on
    the call statement.
  • Return statement returns processing control back
    to the calling procedure.
  • Only one value can be returned.
  • Variable data type of returned value must match
    the return type specified in heading.

19
Multiple Returns
  • A method may be defined with multiple Return
    statements.
  • The first Return statement executed returns the
    value and returns processing control back to the
    calling procedure.
  • private decimal calcExtendedPrice(int intQty,
    decimal decPrice if (intQty lt 26) return
    intQty decPrice else return intQty
    (decPrice .95) //5 discount

20
Single Return Preferred
  • Although methods can be coded using multiple
    Return statements, one Return statement is
    preferred.
  • Having multiple Returns in complex procedure can
    be difficult to maintain and debug.
  • private decimal calcExtendedPrice(int intQty,
    decimal decPrice ) decimal decExtendedPrice
    if (intQty lt 26) decExtendedPrice intQty
    decPrice else decExtendedPrice intQty
    (decPrice .95) //5 discount return
    decExtendedPrice

21
A Method without a Return
  • If a method that is supposed to return a value
    does not contain a return statement, then the
    compiler will generate a syntax error.
  • private decimal calcExtendedPrice(int intQty,
    decimal decPrice ) decimal decExtendedPrice
    if (intQty lt 26) decExtendedPrice intQty
    decPrice else decExtendedPrice intQty
    (decPrice .95) //return decExtendedPrice
    //commented out syntax error

22
Method Call
  • The method call is issued when the method is used
    in another method.private void
    btnCalculate_Click() intQty
    int.Parse(txtQuantity.Text) decPrice
    decimal.Parse(txtPrice.Text) decExtendedPrice
    calcExtendedPrice(intQty, decPrice)

23
Local Variables
  • Variables are local to the method in which they
    are defined.
  • Variables defined in a particular method are
    assigned their own memory and can only be
    referenced in that method.
  • Variables defined in calcExtendedPrice( ) are
    assigned their own memory and can only be
    referenced in calcExtendedPrice( ).
  • Different methods cannot see or reference each
    others variables.
  • They have separate memory allocations even though
    the variable names may be the same.

24
Passing Arguments
  • private void btnCalculate_Click() int
    intQty decimal decPrice, decExtendedPrice
    intQty int.Parse(txtQuantity.Text) decPrice
    decimal.Parse(txtPrice.Text) decExtendedPrice
    calcExtendedPrice(intQty, decPrice)
  • private decimal calcExtendedPrice(int intQty,
    decimal decPrice) decimal decExtended decExt
    ended intQty decPrice return decExtended

25
Declare Variables
26
Input Values
27
decExtendedPrice calcExtendedPrice(intQty,
decPrice)
Pass-by-Value - Values in variables of
btnCalculate are sent to variables of
calcExtendedPrice.
28
Methods Use Local Variables
  • private void btnCalculate_Click() int
    intQty decimal decPrice, decExtendedPrice
    intQty int.Parse(txtQuantity.Text) decPrice
    decimal.Parse(txtPrice.Text) decExtendedPrice
    calcExtendedPrice(intQty, decPrice)
  • private decimal calcExtendedPrice(int intQty,
    decimal decPrice) decimal decExtended decExt
    ended intQty decPrice return decExtended

29
decExtended intQty decPrice
30
Returning Method Values
  • private void btnCalculate_Click() int
    intQty decimal decPrice, decExtendedPrice
    intQty int.Parse(txtQuantity.Text) decPrice
    decimal.Parse(txtPrice.Text) decExtendedPrice
    calcExtendedPrice(intQty, decPrice)
  • private decimal calcExtendedPrice(int intQty,
    decimal decPrice) decimal decExtended decExt
    ended intQty decPrice return decExtended

31
decExtendedPrice calcExtendedPrice(intQty,
decPrice)
Return statements sends the value to variable on
the left side of the equal sign on the method
call statement.
32
Menu Designer
  • Plan menu options / paths.
  • Add MenuStrip control to component tray.Just
    like the ToolTip.
  • Enter Text for menu item in box labeled Type
    Here.
  • Use ampersands to define control keys.
  • Name menu items using menu path and mnu prefix.
  • Need to know name so we can tell which menu item
    was selected in the code.private void
    mnuFileExit_Click(object sender, System.EventArgs
    e) this.Close()

33
Menu Designer Example
34
Context Menus
  • Context menus are shortcut menus that pop up with
    a right-click.
  • Add a ContextMenuStrip control to the component
    tray.
  • Use the Menu Designer to add items.
  • More than one context menu can be added.
  • In order to make the context menu available to
    users, it must be assigned to the form or control
    by using the ContextMenuStrip property.
  • See the images on the next two slides

35
Context Menu Example
36
Assign Context Menu to Form
37
Common Dialog Boxes
  • Common dialog boxes available
  • FontDialog
  • ColorDialog
  • OpenFileDialog
  • SaveFileDialog
  • PrintDialog
  • PrintPreviewDialog

38
Common Dialog Boxes
  • The Common Dialog Box controls can save
    programmers the time and trouble of designing
    custom dialog boxes for common purposes.
  • Add a common dialog box control to the component
    tray.
  • The default Name of the Dialog maybe used, unless
    more than one is being used in the
    program.. colorDialog1, fontDialog, etc.
  • You wont see anything in design time, because
    the dialog box is displayed at run-time with
    code.
  • Use the ShowDialog method to display a dialog
    box. fontDialog1.ShowDialog( ) colorDialog1.Sh
    owDialog( )

39
FontDialog Box
40
Using Selected Options
  • Dialog Boxes are objects themselves with
    properties.
  • The values selected by users in a font or color
    dialog box are stored in the dialog boxs
    properties.
  • The values in the dialog boxes selected by users
    need to be applied to controls on the
    form. lblGrandTotal.Font fontDialog1.Font lb
    lGrandTotalForeColor colorDialog1.Color
    Note property on Labels and Textboxes is
    ForeColor.
  • Before showing a dialog box, you should assign to
    it the current value selected just incase users
    click on Cancel. fontDialog1.Font
    lblGrandTotal.Font

41
Method Example
  • private void mnuEditFont_Click(object sender,
    System.EventArgs e)
  • //Initialize the font in the dialog box to the
    current font
  • fontDialog1.Font lblGrandTotal.Font
  • //Display dialog box so user can pick a font
  • fontDialog1.ShowDialog()
  • //Apply the font chosen to the Totals section
  • lblGrandTotal.Font fontDialog1.Font
  • lblNumberOfOrders.Font fontDialog1.Font
  • lblAverageOrder.Font fontDialog1.Font

42
Summary
  • Top-Down Design
  • Built-in Methods
  • Black Box Analogy
  • Programmer-Defined Methods
  • Methods Signature Overloading
  • Menu Designer
  • Context Menus
  • Common Dialog Boxes
Write a Comment
User Comments (0)