Download presentation
Presentation is loading. Please wait.
Published byEsmond Wood Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.