bi l528 bilgisayar programlama ii n.
Skip this Video
Loading SlideShow in 5 Seconds..
BI L528 – Bilgisayar Programlama II PowerPoint Presentation
Download Presentation
BI L528 – Bilgisayar Programlama II

Loading in 2 Seconds...

play fullscreen
1 / 24

BI L528 – Bilgisayar Programlama II - PowerPoint PPT Presentation

  • Updated on

BI L528 – Bilgisayar Programlama II. Interacting with Users Graphics. Contents. Interacting with Users MessageBox Custom Dialog Boxes Keyboard Events Mouse Events Graphics Drawing into a Form or Control Persisting Graphics in a PictureBox. MessageBox. MessageBox.Show( MessageText ,

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

BI L528 – Bilgisayar Programlama II

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
bi l528 bilgisayar programlama ii

BIL528 – Bilgisayar Programlama II

Interacting with Users


  • Interacting with Users
    • MessageBox
    • Custom Dialog Boxes
    • Keyboard Events
    • Mouse Events
  • Graphics
    • Drawing into a Form or Control
    • Persisting Graphics in a PictureBox







  • AbortRetryIgnore
  • OK
  • OKCancel
  • YesNoCancel
  • YesNo
  • RetryCancel
determining which button is clicked
Determining Which Button is Clicked
  • The MessageBox.Show() method returns the button clicked as a DialogResult enumeration.

if (MessageBox.Show(…) == DialogResult.OK) {

// OK button is clicked


DialogResult result = MessageBox.Show(…);

switch (result) { … }

enumerations for dialogresult
Enumerations for DialogResult
  • OK
  • Cancel
  • Yes
  • No
  • Retry
  • Ignore
  • Abort
  • None (for Modal Dialog Boxes)
creating good messages
Creating Good Messages
  • Use a formal tone
  • Don’t use large words
  • Make the text immediately understandable
  • Limit messages to two or three lines
  • Make the question as succinct as possible
  • Spell-check all message text
  • Avoid technical jargon
  • Be sure that buttons and the icon match the text
creating custom dialog boxes
Creating Custom Dialog Boxes
  • Most of the time, the MessageBox.Show() method should be a sufficient means to display messages to a user.
  • At times, however, the MessageBox.Show() method is too limited for a given purpose.
  • Suppose that you want to display a lot of text to the user, such as a log file of some sort, for example, so you want a message box that theuser can size.
creating custom dialog boxes1
Creating Custom Dialog Boxes
  • Custom dialog boxes are nothing more than standard modal forms, with one notable exception: One or more buttons are designated to return a dialog result, just as the buttons on a message box shown with the MessageBox.Show() method return a dialog result.
  • Create a new form in a new project
  • Design the contents of the new form
  • Put some buttons and set their DialogResult properties to one of the suitable DialogResult enumerations (When you select a dialog result, you don’t need to handle the click events of the buttons)
  • Open the form from the main form with ShowDialog() method
  • Write a program with a TextBox in which only numbers can be entered.
  • Solution: Handle the KeyPress event and set e.Handled property to true when any key except a digit is pressed.
  • Write a program which enables the user to draw on a form.
  • Create a Graphics object member variable
  • Instantiate it in the Load event handler
  • Dispose it in the FormClosed event handler
  • Handle the MouseMove event and draw an ellipse at the mouse coordinate if the Left mouse button is clicked during the mouse move
creating a graphics object
Creating a Graphics Object
  • If you want to draw something an a control, you should get a reference to its drawing surface:
  • Graphics g = textBox1.CreateGraphics();
drawing on bitmaps
Drawing on Bitmaps
  • The Bitmap objects are created with the new command:

Bitmap bmp = new Bitmap(640, 480);

  • Graphics object of a Bitmap is acquired with the static Graphics.FromImage() method:

Graphics g = Graphics.FromImage(bmp);

  • All drawings on g are drawn on the bitmap then.
drawing on a picturebox
Drawing on a PictureBox
  • The drawn shapes on the Graphics object of a PictureBox disappear if you minimize and restore your program.
  • If you want them to appear again, you should either handle the Paint event of the form or draw everything on the bitmap Image of the picture box. The second one is easier.
load event
Load Event
  • Initialize the Image of the picture box in Load event of the form:

Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);

Graphics g = Graphics.FromImage(bmp);

g.FillRectangle(Brushes.White, 0, 0, bmp.Width, bmp.Height);

pictureBox1.Image = bmp;

mousemove event
MouseMove Event
  • Get the Bitmap image of the picture box
  • Create the Graphics object from the Bitmap using Graphics.FromImage() method and draw:

if (e.Button == MouseButtons.Left)


Bitmap bmp = (Bitmap)pictureBox1.Image;

Graphics g = Graphics.FromImage(bmp);

g.DrawEllipse(Pens.Red, e.X, e.Y, 2, 2);



  • If you want a control to draw itself, you should call its Invalidate() method.
  • If you don’t call it in the previous code, your drawings does not appear on the picture box unless you minimize and restore the form.
  • Restoring the form window forces the form and all its controls to Paint themselves.
some drawing methods
Some Drawing Methods
  • DrawLine()
  • DrawEllipse()
  • DrawRectangle()
  • DrawString()
  • FillEllipse()
  • FillRectangle()