How do I pass strings between voids ?

I have a hard time understanding the whole passing strings thing in C#.
I thought that simply by putting example:
public string IMAGELOC;
at the begining of code made it Public to everything everywhere in that .cs file.
But that seems not to be the case.
I have tried to read some passing strings tutorials but I still have hard time understanding them.

Anyone care to show me how to get my IMAGELOC string from 1 place to another and maybe nlighten me a simple explanation ?

Thanks !

public void ListBox1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
              string IMAGELOC = "mypath to file";
        }
 
public void pictureBox2_Click(object sender, EventArgs e)
        {
            Form2 newForm2 = new Form2();
            newForm2.ShowDialog();
        }
public class Form2 : Form
        {
            private PictureBox picbox2 = new PictureBox();
 
 
            public Form2()
            {
                MessageBox.Show();
                AutoSize = true;
                AutoSizeMode = AutoSizeMode.GrowAndShrink;
                picbox2.SizeMode = PictureBoxSizeMode.AutoSize;
                picbox2.ImageLocation = IMAGELOC
                this.Controls.Add(picbox2);
            }
 
        }

Open in new window

LVL 1
SmykenAsked:
Who is Participating?
 
Daniel WilsonCommented:
sorry, omitted the void return type.

public void SetImageLoc(String loc){
               picbox2.ImageLocation = loc;
            }

Open in new window

0
 
Daniel WilsonCommented:
I thought that simply by putting example:
public string IMAGELOC;
at the begining of code made it Public to everything everywhere in that .cs file.
Actually, making it public makes it available to anything that uses the class, as well as available to anything in the class.  If you just want it available within the class, use private.

It looks like you're wanting to pass the string between classes ... this should do it for you:

private String IMAGELOC;
 
public void ListBox1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
              IMAGELOC = "mypath to file";
        }
 
public void pictureBox2_Click(object sender, EventArgs e)
        {
            Form2 newForm2 = new Form2();
            newForm2.SetImageLoc(IMAGELOC);
            newForm2.ShowDialog();
        }
public class Form2 : Form
        {
            private PictureBox picbox2 = new PictureBox();
 
 
            public Form2()
            {
                MessageBox.Show();
                AutoSize = true;
                AutoSizeMode = AutoSizeMode.GrowAndShrink;
                picbox2.SizeMode = PictureBoxSizeMode.AutoSize;
                
                this.Controls.Add(picbox2);
            }
 
            public SetImageLoc(String loc){
               picbox2.ImageLocation = loc;
            } 
                 
        }

Open in new window

0
 
SmykenAuthor Commented:
hmm

tried your solution and got this:

Error      1      Method must have a return type

pointing at :

public SetImageLoc(String loc){
               picbox2.ImageLocation = loc;
            }
0
 
SmykenAuthor Commented:
Worked like a charm.

Thanks friend !
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.