1 / 29

15. Building Applications with Windows Forms

15. Building Applications with Windows Forms. Why Use Windows Forms? Structure of Windows Forms Using Windows Forms Using Controls. Code Samples. Why Use Windows Forms?. Accessibility support Visual inheritance Extensible object model Advanced forms design. Rich set of controls

len-griffin
Download Presentation

15. Building Applications with Windows Forms

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

  4. Windows Forms Class Hierarchy Control ScrollableControl ContainerControl Form UserControl

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

  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. Using Windows Forms • Using Form Properties • Using Form Methods • Using Form Events • Handling Events • Creating MDI Forms • Using Standard Dialog Boxes

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

  9. Using Form Methods • Close • ShowDialog and Show 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();

  10. Using Form Events • Activated and Deactivate • Closing • Closed

  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);

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

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

  14. Demonstration: Manipulating Windows Forms

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

  16. Using Control Properties • Positioning • Anchor • Docking • Location • Text property

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

  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. Demonstration: Using Controls

  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. Demonstration: Implementing Drag-and-Drop Functionality

  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. 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. 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. 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. 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. 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. 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. 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

More Related