Jump to content

The name 'g' does not exist in the current context

- - - - -

This topic has been archived. This means that you cannot reply to this topic.
1 reply to this topic

#1
lucasmeister

lucasmeister

    Newbie

  • Members
  • Pip
  • 2 posts
Hi,

I am making a basic sketch program for university. So far its going ok and drawing lines with up, down, left, right.

But I want to set the letter C to clear the program.

I get the error "The name 'g' does not exist in the current context".

Is it to do with the protected override bool?

My code is below.

Thanks in advance.

public partial class Form1 : Form

    {

        int x = 50, y = 50;     // starting position

        Bitmap bm;

        int x1 = 50, y1 = 50;

   


        public Form1()

        {

            InitializeComponent();

        }


        private void Form1_Load(object sender, EventArgs e)

        { 

            bm = new Bitmap(this.Width, this.Height);   // create a form-size bitmap

            Graphics g = Graphics.FromImage(bm);        // get a graphic object for the bitmap

            g.FillEllipse(Brushes.Blue, x, y, 20, 20);  // put a circle in the bitmap

            this.BackgroundImage = bm;                  // use the bitmap as the form background

        }


        private void Form1_Paint(object sender, PaintEventArgs e)

        {

            Graphics g = Graphics.FromImage(bm);        // get a graphic object for the bitmap

            g.FillEllipse(Brushes.Blue, x1, y1, 20, 20);

        }


        protected override bool ProcessCmdKey(ref Message msg, Keys keyData)

        {

            string input;

            input = keyData.ToString();


            if (input == "Down")

            {

                y1 = y1 + 10;


                

                Refresh();

                

                return true;

                

            }

            if (input == "Up")

            {

                y1 = y1 - 10;



                Refresh();


                return true;


            }

            if (input == "Left")

            {

                x1 = x1 - 10;



                Refresh();


                return true;


            }

            if (input == "Right")

            {

                x1 = x1 + 10;



                Refresh();


                return true;


            }

            if (input == "C")

            {

                g.Clear(BackColor);



                Refresh();


                return true;


            }

          


            return false;    // return true if key processed, otherwise false

        }


#2
CommittedC0der

CommittedC0der

    Speaks fluent binary

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,565 posts
Pretty sure you solved this thread on the Dream.In.Code forums. ;)
A man can be defined by what he does when no one is looking.
Science is only an educated theory, which we cannot disprove.