Chapter 13. Graphical User Interface Concepts: Part 1 - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

Chapter 13. Graphical User Interface Concepts: Part 1

Description:

using System.Collections.Generic; using System.Windows.Forms; namespace SimpleApplication ... Required method for Designer support - do not modify ... – PowerPoint PPT presentation

Number of Views:153
Avg rating:3.0/5.0
Slides: 29
Provided by: beiz
Category:

less

Transcript and Presenter's Notes

Title: Chapter 13. Graphical User Interface Concepts: Part 1


1
Chapter 13. Graphical User Interface Concepts
Part 1
2
Simple Windows Application
  • In Visual Studio 2005, if you choose
  • File-gtNew Project
  • Windows Application
  • The following will be generated for you
  • Form1.cs
  • Form1.Designer.cs
  • Program.cs
  • Lets look at them

3
(No Transcript)
4
Program.cs
  • using System
  • using System.Collections.Generic
  • using System.Windows.Forms
  • namespace SimpleApplication
  • static class Program
  • /// ltsummarygt
  • /// The main entry point for the
    application.
  • /// lt/summarygt
  • STAThread
  • static void Main()
  • Application.EnableVisualStyles()
  • Application.SetCompatibleTextRendering
    Default(false)
  • Application.Run(new Form1())

What is this?
5
Form1.cs
  • using System
  • using System.Collections.Generic
  • using System.ComponentModel
  • using System.Data
  • using System.Drawing
  • using System.Text
  • using System.Windows.Forms
  • namespace SimpleApplication
  • public partial class Form1 Form
  • public Form1()
  • InitializeComponent()

6
Form1.Designer.cs
  • namespace SimpleApplication
  • partial class Form1
  • /// ltsummarygt
  • /// Required designer variable.
  • /// lt/summarygt
  • private System.ComponentModel.IContainer
    components null
  • /// ltsummarygt
  • /// Clean up any resources being used.
  • /// lt/summarygt
  • /// ltparam name"disposing"gttrue if
    managed resources should be disposed otherwise,
    false.lt/paramgt
  • protected override void Dispose(bool
    disposing)
  • if (disposing (components !
    null))
  • components.Dispose()

7
Application Class
  • The System.Windows.Forms.Application class wraps
    the basic functionality to start a .NET
    application.
  • This class has methods to start and stop
    applications and their threads, and to process
    Windows Messages
  • DoEvents()
  • Exit()
  • ExitThread()
  • Run()
  • The class also has events and properties to
    synchronize execution.

8
Application Class
  • Run static method begins running a standard
    application message loop on the current thread.
  • Below is the overload list

9
Partial Class
  • A partial class, or partial type, is a feature of
    C programming languages in which the declaration
    of a class or a struct or an interface may be
    split across multiple source-code files.
  • Purpose
  • Very large classes
  • Separation of concerns
  • Multiple developer

10
Windows Forms
  • Forms are contained within a namespace called
    System.Windows.Forms that contains around 200
    classes, 100 enumeration, more than 40 delegates,
    7 interfaces, and 4 structures.
  • The inheritance lineage is
  • Object -gt
  • MarshallByRefObject -gt
  • Component-gt
  • Control-gt
  • ScrollableControl-gt
  • Form

11
Windows Forms
12
SimpleForm.cs
  • using System
  • using System.Windows.Forms
  • class SimpleForm
  • static void Main()
  • Form f1 new Form()
  • f1.Text "My Simple Form"
  • Application.Run(f1)

csc /twinexe SimpleForm.cs
13
SimpleForm2.cs
  • using System
  • using System.Windows.Forms
  • class SimpleForm
  • static void Main()
  • Form f1 new Form()
  • f1.Text "My Simple Form2"
  • f1.Show()

What is the output?
14
SimpleForm3.cs
  • using System.Threading
  • using System.Windows.Forms
  • class SimpleForm
  • static void Main()
  • Form f1 new Form()
  • f1.Text "My Simple Form3"
  • f1.Show()
  • f1.Text "Time to sleep"
  • //Let the process go to sleep for 1000 ms
    (pause)
  • Thread.Sleep(3000)
  • f1.Text "Time to wake up !"
  • //Let the process go to sleep for 1000 ms
    (pause)
  • Thread.Sleep(1000)

What is the output?
15
SimpleForm4.cs
  • using System.Threading
  • using System.Windows.Forms
  • class SimpleForm
  • public static void Main()
  • Form f1 new Form()
  • f1.Text "What is wrong with this?"
  • f1.Visible true Thread.Sleep(3000)
  • f1.Visible false Thread.Sleep(3000)
  • f1.Text "Coming back to live"
  • f1.Visible true Thread.Sleep(3000)
  • Application.Run()
  • f1.Text "After Application.Run is
    called"

What is the output?
16
SimpleForm5.cs
  • using System.Threading
  • using System.Windows.Forms
  • class SimpleForm
  • public static void Main()
  • Form f1 new Form()
  • f1.Text "What is wrong with this?"
  • f1.Visible true Thread.Sleep(3000)
  • f1.Visible false Thread.Sleep(3000)
  • f1.Text "Coming back to live"
  • f1.Visible true Thread.Sleep(3000)
  • Application.Run(f1)
  • Thread.Sleep(3000)
  • f1.Text "After Application.Run is
    called"

What is the output?
17
SimpleForm6.cs
  • using System.Threading
  • using System.Windows.Forms
  • class SimpleForm
  • public static void Main()
  • Form f1 new Form()
  • f1.Text "How are you all doing?"
  • f1.Visible true
  • Thread.Sleep(3000)
  • f1.Text "And How is your Baba?"
  • Application.Run(f1)
  • Thread.Sleep(3000)
  • f1.Text "After Application.Run is
    called"
  • MessageBox.Show("And your Daddy too?")

What is the output?
18
Conclusion
  • Main creates the form and displays it.
  • The form is given to Application.Run where it
    continues to exist.
  • The form takes control of execution until the
    form is dismissed.
  • When the form is dismissed, presumably, the
    Application.Run method continues (err, ends).
  • The Application.Run method returns control to
    Main, which then calls the MessageBox.Show
    method.
  • The application ends after the MessageBox is
    dismissed

19
SimpleForm7.cs
  • using System.Threading
  • using System.Windows.Forms
  • class SimpleForm
  • public static void Main()
  • Form f0 new Form() f0.Text "How are
    you?"
  • Form f1 new Form() f1.Text "How is
    C?"
  • Form f2 new Form() f2.Text "How is
    C"
  • f0.Show() f2.Show()
  • Application.Run(f1)
  • MessageBox.Show("Where are we?")
  • f2.Text "F2, after Application.Run is
    called"
  • Thread.Sleep(3000)

Take Home Bring back your description Quiz
20
Not Very Simple Windows Application!
  • Drag and drop textbox and button from the toolbox
    into the Form
  • Lets see what happened to our three files.
  • Program.cs Form1.cs Form1.Designer.cs

21
Program.cs
  • using System
  • using System.Collections.Generic
  • using System.Windows.Forms
  • namespace SimpleApplication
  • static class Program
  • /// ltsummarygt
  • /// The main entry point for the
    application.
  • /// lt/summarygt
  • STAThread
  • static void Main()
  • Application.EnableVisualStyles()
  • Application.SetCompatibleTextRendering
    Default(false)
  • Application.Run(new Form1())

NO CHANGES!
22
Form1.cs
  • using System
  • using System.Collections.Generic
  • using System.ComponentModel
  • using System.Data
  • using System.Drawing
  • using System.Text
  • using System.Windows.Forms
  • namespace SimpleApplication
  • public partial class Form1 Form
  • public Form1()
  • InitializeComponent()

NO CHANGES!
23
Form1.Designer.cs
  • namespace SimpleApplication
  • partial class Form1
  • //SAME AS BEFORE CODE OMMITED FOR SPACE
  • private System.Windows.Forms.TextBox
    textBox1
  • private System.Windows.Forms.Button
    button1
  • private void InitializeComponent()
  • this.textBox1 new System.Windows.Forms.TextBox(
    )
  • this.button1 new System.Windows.Form
    s.Button()
  • this.SuspendLayout()
  • // textBox1
  • this.textBox1.Location new
    System.Drawing.Point(72, 24)
  • this.textBox1.Name "textBox1"
  • this.textBox1.Size new
    System.Drawing.Size(100, 20)
  • this.textBox1.TabIndex 0
  • // button1
  • this.button1.Location new
    System.Drawing.Point(82, 59)

We have two new fields
The fields properties are initialized
The fields are attached to the Form
24
Not Simple Windows Application!
  • Lets say I want to find the square of the number
    entered
  • Double click on the button, and suddenly Form1.cs
    is opened for me and the following code is
    displayed for me.

25
Form1.cs
  • using System
  • using System.Collections.Generic
  • using System.ComponentModel
  • using System.Data
  • using System.Drawing
  • using System.Text
  • using System.Windows.Forms
  • namespace SimpleApplication
  • public partial class Form1 Form
  • public Form1()
  • InitializeComponent()
  • private void button1_Click(object sender,
    EventArgs e)

This method is written for me
I wrote this code
26
Form1.Designer.cs
  • namespace SimpleApplication
  • partial class Form1
  • //SAME AS BEFORE CODE OMMITED FOR SPACE
  • //THE BUTTON1 IS THE PART THAT CHANGES
  • // button1
  • //
  • this.button1.Location new
    System.Drawing.Point(82, 59)
  • this.button1.Name "button1"
  • this.button1.Size new
    System.Drawing.Size(75, 23)
  • this.button1.TabIndex 1
  • this.button1.Text "button1"
  • this.button1.UseVisualStyleBackColor
    true
  • this.button1.Click new
    System.EventHandler(this.button1_Click)

control
Event
Event handler (method name)
27
What We Just Did?
  • We have attached an event handler for the click
    event.
  • Button has Click event
  • If this event happens (some one clicks on the
    button)
  • button1_Click method will be executed.

28
SimpleForm8.csI like this code..
  • using System
  • using System.Threading
  • using System.Windows.Forms
  • class SimpleForm
  • public static void Main()
  • MyForm f1 new MyForm()
  • Application.Run(f1)
  • class MyForm Form
  • private TextBox textBox1
  • private Button button1
  • public MyForm()
Write a Comment
User Comments (0)
About PowerShow.com