Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Setting GUI object from another class other than GUI class. How do you do it.

Posted on 2006-06-20
8
Medium Priority
?
212 Views
Last Modified: 2010-04-16
Hi,

I've created an GUI form in C# on .NET (called form1).  I also have another class (class1) with no GUI stuff in it, what I want to do is for a function in Class1 to set a label on form1.
But, Im not sure how you do it?  I've tried to inherit form1 into Class1, but with no luck.  

Would anyone know how I should do it?

Thanks in advance for your help!

 
0
Comment
Question by:malben
  • 4
  • 3
8 Comments
 
LVL 86

Expert Comment

by:Mike Tomlinson
ID: 16946116
Of the MANY ways this could be done...

How about:

    (1) Pass a reference to either Form1 or your Label into your Class so you can directly manipulate them from within the Class

    (2) Make your Class raise a custom event that Form1 subscribes to.  When it receives this event, it uses the parameters to update the appropriate label.

Do you have a preference between these two methods?
0
 

Author Comment

by:malben
ID: 16946424
I'm think passing a reference would be the best option.

I'm new to programming so I wonder if you could help with the syntax i.e. what should I write below?

Thanks for your help

using System;


namespace WindowsApplication1
{

      public class Class1()
      {
            public Class1()
      
            
            }
      }
}
0
 
LVL 96

Accepted Solution

by:
Bob Learned earned 200 total points
ID: 16946724
2003 example:

namespace WindowsApplication1
{

     public class Class1()
     {
         
           public void ShowForm()
           {
               Form1 frm = new Form1();
               frm.Label1.Text = "This is a test";
               frm.ShowDialog();
               frm.Dispose();
          }
     }
}

You would need to set the modifier for the Label to Internal.

Bob

Bob
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:malben
ID: 16946807
Many thanks bob!

0
 
LVL 86

Expert Comment

by:Mike Tomlinson
ID: 16947029
Is that really what you wanted?

In Bobs example, Class1 is creating a new instance of Form1.

I was thinking that Form1 was creating an instance of Class1 and so we needed to pass a reference to Form1 into Class1 so that the class could manipulate the form...
0
 

Author Comment

by:malben
ID: 16948750
Idle Mind. how would that look like as code?

Thanks
0
 
LVL 86

Expert Comment

by:Mike Tomlinson
ID: 16951209
At it's simplest...         (this assumes that on Form1, the Modifiers() property of textBox1 has been changed to Internal)

    public partial class Form1 : Form
    {

        private void button1_Click_1(object sender, EventArgs e)
        {
            Class1 c1 = new Class1();
            c1.frm1 = this;
            c1.Foo();
        }

    }

    public class Class1
    {
        public Form1 frm1;

        public void Foo()
        {
            if (frm1 != null)
            {
                frm1.textBox1.Text = "Hello from Class1";
            }
        }
    }
0
 

Author Comment

by:malben
ID: 16954181
Many thanks Idle Mind your help was much appreciated!

 
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
In a question here at Experts Exchange (https://www.experts-exchange.com/questions/29062564/Adobe-acrobat-reader-DC.html), a member asked how to create a signature in Adobe Acrobat Reader DC (the free Reader product, not the paid, full Acrobat produ…
Loops Section Overview
Suggested Courses

783 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question