1 Windows Forms II Chapter 20
2 RadioButton / GroupBox Controls Used to solicit a multiple choice input. Radio buttons work as a group. Selecting one unselects any previous choice. The GroupBox defines the group. Expand “All Windows Forms” in Toolbox. Drag GroupBox to the form. Drag four radio buttons from the Toolbox and drop inside the GroupBox. You can also copy and paste controls. Ctrl-C, Ctrl-V
3 GroupBox Properties Text Property Location and size are normally set interactively via the designer. The usual appearance properties are available.
4 RadioButton Properties Checked is true for a button that is selected. (Max of 1 per group.) Text
5 Add an OK Button
6 Code for Button Click Event enum Classification {Unknown, Freshman, Sophomore, Junior, Senior}; Classification year = Classification.Unknown; private void btnOK_Click(object sender, System.EventArgs e) { if (rbFreshman.Checked) year = Classification.Freshman; else if (rbSophomore.Checked) year = Classification.Sophomore; else if (rbJunior.Checked) year = Classification.Junior; else if (rbSenior.Checked) year = Classification.Senior; if (year == Classification.Unknown) MessageBox.Show("Please select year"); else MessageBox.Show("You will be recorded as a " + year.ToString()); } End of Section
7 The PictureBox Control Allows you to include images on your form. Typically a jpeg or gif file Other possibilities. Important Properties: Image (Browse to file) Location Size SizeMode Normal, StretchImage, AutoSize, CenterImage, Zoom BorderStyle
8 The PictureBox Control Need an image file? Try google > images From search on University of South Florida Image file is in Downloads area of class web site: Downloads/USF_Bull.gif Downloads/USF_Bull.gif Download to desktop
9 The PictureBox Control
Setting the Image Property Select the Image property. Click on the elipses (...) button. 10
Setting the Image Property Click on Import. 11
Setting the Image Navigate to the image file. Select the file and click Open. 12
Setting the Image Click OK. 13
Setting the Image The image file has been copied into the project. 14
15 SizeMode Values From the Help page for SizeMode: Valid values for this property are taken from the PictureBoxSizeMode enumeration. By default, in PictureBoxSizeMode.Normal mode, the Image is placed in the upper left corner of the PictureBox, and any part of the image too big for the PictureBox is clipped. PictureBoxSizeMode.Zoom causes the image to be stretched or shrunk to fit the PictureBox, while maintaining the aspect ratio. Using the PictureBoxSizeMode.StretchImage value causes the image to stretch to fit the PictureBox. Using the PictureBoxSizeMode.AutoSize value causes the control to resize to always fit the image. Using the PictureBoxSizeMode.CenterImage value causes the image to be centered in the client area. 15
The PictureBox Control Set size mode to Zoom. Build and run. 16
17 SizeMode Zoom SizeMode = Zoom
18 SizeMode Normal SizeMode = Normal
19 CenterImage SizeMode = CenterImage
20 AutoSize SizeMode = Autosize Most of the PictureBox falls outside the form.
AutoSize Window resized to hold entire PictureBox control. 21
22 The PictureBox Control Conclusions: Try to match size of actual image to size that you need on the form. If not, Zoom is usually the best bet. But, at least, be sure the ratio of height to width is about the same. End of Section
Where is the image? It's embedded in the program You don't need to retain or deploy the original image file. 23
Form1.resx In the project folder, you can drill down and find the file. 24
Form1.resx 25
Form1.resx 26
Form1.resx 27
Form1.resx End of Section 28
29 The ComboBox Control “Combination” of text entry box and dropdown list. Select from list or enter text. Important Properties: Items(Collection of strings to display.) Can be set using the designer or by program. DropDownStyle SimpleText Entry Only DropDownText Entry or Select DropDownListSelect Only TextWhatever was selected or entered
30 The ComboBox Control Set name to cbYear.
Setting the Choices 31
Setting the Choices Click OK. 32
Getting the User’s Choice Build and run. 33
Program Running 34
35 The ComboBox Control After clicking on the arrow:
36 The ComboBox Control After user selects Sophomore
Getting the User’s Choice End of Section 37
38 Handling the FormClosing Event In Design View, select the form (by clicking anywhere on the background.) In the Properties window, select Events. (Lightening bolt icon at top of window.) Beside “FormClosing” type the name that you want to give to the event handler (e.g., FormIsClosing) Don't use the event name, FormClosing. Press Enter.
Setting the Event Handler 39
40 Handling the FormClosing Event This creates the following stub in the code file: private void FormIsClosing( object sender, System.ComponentModel.CancelEventArgs e) { } This function will be called when the user clicks the Close button on the form.
41 Using a MessageBox to Get User Input Add this code inside the FormIsClosing function. DialogResult result = MessageBox.Show("Are you sure you want to quit?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question); e.Cancel = (result == DialogResult.No);
42 MessageBox Example MessageBox.Show("Are you sure you want to quit?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
43 Add a Close Button
44 Close Button Click Event Handler private void btnClose_Click(object sender, EventArgs e) { this.Close(); }
45 We still get the FormClosing Event End of Section
46 Summany Visual Studio makes it easy to create simple Windows forms applications. There is an enormous amount of information about Windows forms. Only a small amount of it is necessary in order to create simple applications. Need to be aware of what exists. Need to be able to find what you need when you need it. End of Presentation