[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now

x
?
Solved

c# window title setting from arbitrary panel

Posted on 2010-09-10
7
Medium Priority
?
590 Views
Last Modified: 2013-12-17
Hi Experts,
I'm looking for something like AfxGetMainWnd in c# so that I can set the window title.  I'm in a panel and this panel could be in another panel or in a child window, etc.....  Is there a way to do this in c#?

Thanks!
Mike
0
Comment
Question by:thready
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
  • 2
  • +1
7 Comments
 
LVL 12

Expert Comment

by:w00te
ID: 33647720
Application.OpenForms[0].Text = "Hello.";

should always refer to your first opened form, the applicaiton window.  That will change the title to "Hello."

Good luck :)
-w00te
0
 
LVL 64

Accepted Solution

by:
Fernando Soto earned 2000 total points
ID: 33647769
Hi thready;

Because Application.OpenForms is a collection of all open forms in the application the first one in the collection may not be the one you want to change. so use this form to get a reference to the correct window.
 
Form openForms = Application.OpenForms["Form Name Goes Here"];

Fernando
0
 
LVL 12

Expert Comment

by:w00te
ID: 33647798
Oh, and just in case for some reason [0] doens't refer to your main form you can use this to change the title based on the type of form (assuming you only have one of your main form open at any time).  If you have multiple of the same form, you can change getType() and typeof() and use Name == "your form name" to explicitly target a specific form you've made by name.  If this were your main form though, its started in your program file and allocated without a name, you would have to save the name or explicitly name it and pass it in to use the name method.

I think the first post will cover the problem though :)

-w00te
for (int i = 0; i < Application.OpenForms.Count; ++i)
            {
                if (Application.OpenForms[i].GetType() == typeof(Form1))
                {
                    Application.OpenForms[i].Text = "Hello.";
                    break;
                }
            }

Open in new window

0
What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

 
LVL 86

Expert Comment

by:Mike Tomlinson
ID: 33647875
Do you just want the "active" form?

    Form.ActiveForm.Text = "Hello!";

Or the current form?

    this.Text = "Hello!";
0
 
LVL 1

Author Comment

by:thready
ID: 33648427
I want only the main window (the one that opens as soon as my app starts)...
0
 
LVL 1

Author Closing Comment

by:thready
ID: 33648481
Thank you - this is what I was looking for!
0
 
LVL 86

Expert Comment

by:Mike Tomlinson
ID: 33648529
You could STORE the reference to your starting form as a static member in program.cs:

    static class Program
    {

        public static Form MainForm = null;

        ///
        /// The main entry point for the application.
        ///
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Program.MainForm = new Form1();
            Application.Run(Program.MainForm);
        }

    }

Now you can use "Program.MainForm" from anywhere in the app:

        private void button1_Click(object sender, EventArgs e)
        {
            Program.MainForm.Text = "Hello Starting Form!";
        }
0

Featured Post

Independent Software Vendors: 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!

Question has a verified solution.

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

In my previous two articles we discussed Binary Serialization (http://www.experts-exchange.com/A_4362.html) and XML Serialization (http://www.experts-exchange.com/A_4425.html). In this article we will try to know more about SOAP (Simple Object Acces…
Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
Sometimes it takes a new vantage point, apart from our everyday security practices, to truly see our Active Directory (AD) vulnerabilities. We get used to implementing the same techniques and checking the same areas for a breach. This pattern can re…
In this video, Percona Solutions Engineer Barrett Chambers discusses some of the basic syntax differences between MySQL and MongoDB. To learn more check out our webinar on MongoDB administration for MySQL DBA: https://www.percona.com/resources/we…

649 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