Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 15. Building Applications with Windows Forms Why Use Windows Forms? Structure of Windows Forms Using Windows Forms Using Controls Code Samples.

Similar presentations


Presentation on theme: "1 15. Building Applications with Windows Forms Why Use Windows Forms? Structure of Windows Forms Using Windows Forms Using Controls Code Samples."— Presentation transcript:

1 1 15. Building Applications with Windows Forms Why Use Windows Forms? Structure of Windows Forms Using Windows Forms Using Controls Code Samples

2 2 Why Use Windows Forms? Rich set of controls Flat look style Advanced printing support Advanced graphics support – GDI+ Accessibility support Visual inheritance Extensible object model Advanced forms design

3 3 Structure of Windows Forms Windows Forms Class Hierarchy Using the Windows.Forms.Application Class Examining the Code Behind Windows Forms

4 4 Windows Forms Class Hierarchy Control ContainerControl Form UserControl ScrollableControl

5 5 Using the Windows.Forms.Application Class static void Main() { frmCustomers f = new frmCustomers(); f.Show(); Application.Run(); } Allows the application to continue after the form is closed

6 6 Examining the Code Behind Windows Forms Imports  To alias namespaces in external assemblies Class  Inherits from System.Windows.Forms.Form  Constructor – public frmCustomers()  Initializer – private void InitializeComponent()  Destructor – protected override void Dispose( … ) using Winforms = System.Windows.Forms;

7 7 Using Windows Forms Using Form Properties Using Form Methods Using Form Events Handling Events Creating MDI Forms Using Standard Dialog Boxes

8 8 Using Form Properties DialogResult Font Opacity MaximumSize and MinimumSize TopMost AcceptButton and CancelButton

9 9 Using Form Methods Close ShowDialog and Show if blnEndApp = true { this.Close( ); } if blnEndApp = true { this.Close( ); } //Create a second form frmCustomerDetails f = new frmCustomerDetails(); //Show as a dialog box (modal) //f.ShowDialog(); //Show as a owned form (non-modal) this.AddOwnedForm(f); f.Show(); //Create a second form frmCustomerDetails f = new frmCustomerDetails(); //Show as a dialog box (modal) //f.ShowDialog(); //Show as a owned form (non-modal) this.AddOwnedForm(f); f.Show();

10 10 Using Form Events Activated and Deactivate Closing Closed

11 11 Handling Events Handling multiple events with one procedure this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click); this.btnEdit.Click += new System.EventHandler(this.btnAdd_Click); this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click); this.btnEdit.Click += new System.EventHandler(this.btnAdd_Click);

12 12 Creating MDI Forms Creating the parent form Creating child forms Accessing child forms Arranging child forms this.IsMdiContainer = true; this.WindowState = FormWindowState.Maximized; this.IsMdiContainer = true; this.WindowState = FormWindowState.Maximized; Form2 doc = new Form2( ); doc.MdiParent = this; doc.Show( ); Form2 doc = new Form2( ); doc.MdiParent = this; doc.Show( );

13 13 Using Standard Dialog Boxes MsgBox MessageBox Class InputBox if (MsgBox("Continue?", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Question") == MsgBoxResult.Yes) {... } if (MsgBox("Continue?", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Question") == MsgBoxResult.Yes) {... } if (MessageBox.Show("Continue?", "Question", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes) {... } if (MessageBox.Show("Continue?", "Question", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes) {... }

14 14 Demonstration: Manipulating Windows Forms

15 15 Using Controls New Controls Using Control Properties Using Control Methods Creating Menus Providing User Help Implementing Drag-and-Drop Functionality

16 16 Using Control Properties Positioning  Anchor  Docking  Location Text property

17 17 Using Control Methods BringToFront and SendToBack Focus TextBox1.Focus( ); TextBox1.SelectAll( ); TextBox1.Focus( ); TextBox1.SelectAll( ); Button1.BringToFront( ); Button2.SendToBack( ); Button1.BringToFront( ); Button2.SendToBack( );

18 18 Providing User Help ErrorProvider control  Error icon appears next to control, and message appears like a ToolTip when mouse pauses over icon  Used mainly for data binding HelpProvider control  Points to.chm,.hlp, or.html Help file  Controls provide Help information by means of HelpString or HelpTopic properties

19 19 Demonstration: Using Controls

20 20 Implementing Drag-and-Drop Functionality Starting the process  Use the DoDragDrop method in the MouseDown event of the originating control Changing the drag icon  Set the AllowDrop property of the receiving control to True  Set the Effect property of the DragEventsArg in the DragOver event of the receiving control Dropping the data  Use the Data.GetData method to access the data

21 21 Demonstration: Implementing Drag-and-Drop Functionality

22 22 Advanced Features Overview Enhanced Design-Time Support New Controls and Components New Data-Binding Model and Features Asynchronous Programming Other Significant New Features Demonstration: RAD Data Binding What Is ClickOnce? Features and Benefits

23 23 New Controls and Components FlowLayoutPanel and TableLayoutPanel controls SplitContainer control ToolStrip, MenuStrip, StatusStrip, and ContextMenuStrip controls DataGridView control BindingNavigator control MaskedTextBox control WebBrowser control

24 24 New Data-Binding Model and Features BindingSource component  Layer of indirection/abstraction between controls and data source  Can act as strongly typed data source  Interoperates closely with BindingNavigator and DataGridView controls Data components (concept-not class/component)  Building blocks of typed DataSet  Consist of DataTables, TableAdapters, TableAdapter queries  Create/edit using DataSet Designer Data sources (concept-not class/component)  Simplified management of data sources  Enable drag-and-drop creation of data-bound forms Smart tags

25 25 Asynchronous Programming BackgroundWorker component  DoWork, RunWorkerCompleted, ProgressChanged events  RunWorkerAsync, CancelAsync, ReportProgress methods Asynchronous Pattern for Components  Used by.NET Framework components with long-running methods  PictureBox has Load and LoadAsync methods, and a LoadCompleted event

26 26 What is ClickOnce? ClickOnce is a new application deployment technology It makes deploying Windows applications as easy as deploying Web applications Application updates are easy to administer

27 27 Features and Benefits ClickOnce applications are low impact  No administrative rights are required on the client machine Deployment is through Web servers, CDs, or file systems Applications can be installed on the client machine or can run remotely ClickOnce applications execute in a secure environment Visual Studio provides a rich set of support features for publishing ClickOnce applications Prerequisite software can be installed alongside the application installation

28 28 Review Why Use Windows Forms? Structure of Windows Forms Using Windows Forms Windows Forms Inheritance Enhanced Design-Time Support New Controls and Components New Data-Binding Model and Features Asynchronous Programming What Is ClickOnce?

29 29 Lab 15: Building Applications with Windows Forms Exercise 1: Using the layout properties of the controls and form Exercise 2: adding a ToolStrip and a ToolTip control Exercise 3: Opening forms and using the new container controls & provider controls


Download ppt "1 15. Building Applications with Windows Forms Why Use Windows Forms? Structure of Windows Forms Using Windows Forms Using Controls Code Samples."

Similar presentations


Ads by Google