210 likes | 294 Views
CST238 Week 3. Questions / Concerns? Recap Check-off Take Home Lab#2 New topics PictureBox FlowLayoutPanel Menu Context Menu Status Bar Toolstrip Bitmap Dialogs (special dialogs – FileOpen , color) In-Class Exercise #3 Take Home Lab#3. Recap. Controls Buttons Textbox Label
E N D
CST238 Week 3 • Questions / Concerns? • Recap • Check-off Take Home Lab#2 • New topics • PictureBox • FlowLayoutPanel • Menu • Context Menu • Status Bar • Toolstrip • Bitmap • Dialogs (special dialogs – FileOpen, color) • In-Class Exercise #3 • Take Home Lab#3
Recap • Controls • Buttons • Textbox • Label • Events • Click (button) • Keyboard events (KeyDown, KeyPress, KeyUp) • Form level events (Load) • Layout control – organize controls • TableLayoutControl
Take Home Lab 2 • Calculator • Process keyboard events • Table layout control for keys • Manage states • First operand (example: 135) • Operator (+) • Second operand (23)
State Diagram Start EnterNumber1 Enter a Digit (0..9, .) Textbox (0) Operand1(0) Operand2(0) Operator(“”) Enter a Digit (0..9, .) Textbox (+d) Operand1(0) Operand2(0) Operator(“”) Enter a digit , Textbox(0) Enter = Enter an operator Result Textbox (num2->result) Operand1(result) Operand2(0) Operator(“”) EnterNumber2 Enter an operator Operator Enter = Textbox (0+d) Operand1(num) Operand2(0) Operator(“op”) Textbox (num) Operand1(num) Operand2(0) Operator(“op”) Enter a Digit (0..9, .) Enter an operator Enter = Operand2 = num
PictureBox Control • Two ways to load a picture: • Load method • Image property • Properties • SizeMode (Normal, StretchImage, etc.) • BorderStyle • Anchor/Dock
MenuStrip & Toolstrip Control • Download images from Visual Studio Image Library • http://www.microsoft.com/en-us/download/details.aspx?id=35825 • Add a Toolstrip to the form
Status Bar & Context Menu • Add a status bar at the bottom to show filename • Add a context menu to stretch the image
Using Properties.Resources • Add images to the Resources • Faster loading time • Increase the size of executable
Use layout controls TableLayoutControl FlowLayoutControl
FlowLayoutControl • Allow one control to flow into another control. • Useful when you need to have multiple controls.
Dialog • Forms that: • Provide information to the user, or • Request information from the user • Generally modal • Cannot switch forms until dialog is closed. • Several dialogs included with Windows Forms • MessageBox, Color, OpenFile, SaveFile, Print, etc. • You can create your own custom dialog
Working with Dialogs • Simple Dialogs • Just a function call • MessageBox.Show() • Common/Custom Dialog • Create instance of dialog • Set properites • Show dialog using ShowDialog method • Returns a meber of the DialogResult enumeration • Take action based on dialog result
Working with Dialog OpenFieDialog openFile1 = new OpenFileDialog(); openFile1.Filter = “JPEG Files (*.jpg)|*.jpg|PNG Files (*.png)|*.png|BMP Files (*.bmp)|*.bmp|All files (*.*)|*.*”; if (openFile1.ShowDialog() == DialogResults.OK) { //Do something with OpenFile1.FileName //which is the filename selected by the user if (openFile1.ShowDialog() == DialogResult.OK) { pictureBox1.Load(openFile1.FileName); } }
Working with Color Dialog ColorDialog colorDialog1 = new ColorDialog(); if (colorDialog1.ShowDialog() == DialogResult.OK) pictureBox1.BackColor = colorDialog1.Color; //selected color
Custom Dialog • Create form as you would any other • Set form properties to add dialog look, feel and behavior • Set FormBorderStyle to FixedDialog • Disables resizing of dialog • Set ControlBox property to false • Removes minimize, maximize and close buttons from title bar • Set AcceptButton and CancelButton properties • AcceptButton - pressing Enter is the same as clicking the button • CancelButton – pressing Escape is the same as clicking the button • Set dialog return value on button clicks • In event handler, or • Using the DialogResult property of the button
In-Class Lab#3 • Modify the second picture viewer • Add menu for Show, Close, Clear Picture & Background color • Add Toolstrip for these actions. • Add multiple pictures to the resources • Create an array of images • Create an array of caption • Add a Status bar to show the caption of the picture • Add context-menu to flip through pictures
Take-Home Exercise #3 • Flag Quiz • Find some flag images and add them to resources (at least 10 images) • Create an array of images • Create an array of country names • Create an array of correct answers • Keep track of their scores