... begin content added January 10 #1
First, I am unable to replicate the problem you describe in VS 2013, compiling against FrameWork .NET 4.5, and 3.0. Here's what I did to re-create (what I imagine is) your current UI:
0. on the main form:
a. put a TableLayoutPanel with 4 rows, and five columns, docked Left. Set its 'AutoSize property to 'true, and its 'AutoSizeMode to 'GrowAndShrink
a.1. put a Button in each cell of the TableLayoutPanel
b. added a Panel to the main form, docked Right. AutoSize = 'false. Send it to the back in the z-order.
1. added a second form, 'Form2 to the Project
a. added some standard Controls to Form2, added a ToolTip to Form2
b. set some of the Controls on Form2's ToolTip Text
2. in the main Form, declared an instance of Form2, and created it in the Form Load Event:
private Form2 f2;
private void Form1_Load(object sender, EventArgs e)
{
f2 = new Form2();
f2.TopLevel = false;
panel1.Controls.Add(f2);
tableLayoutPanel1.Dock = DockStyle.Fill;
}
3. The important part is, of course, how you show the secondary Form inside the Panel: for testing purposes I assigned the same Click EventHandler to all the Buttons inside the TableLayoutPanel:
private void button1_Click(object sender, EventArgs e)
{
this.SuspendLayout();
tableLayoutPanel1.Dock = DockStyle.Left;
panel1.Visible = true;
f2.Visible = true;
this.ResumeLayout();
}
Discussion:
1. running the test, I found that the ToolTip comments assigned to the Controls on Form2 did appear at run-time when the Form was viewed inside the Panel.
2. if you wanted to switch the interface back to show the TableLayoutPanel occuping the full screen real-estate, with the Panel hidden:
this.SuspendLayout();
tableLayoutPanel1.Dock = DockStyle.Fill;
this.ResumeLayout();
I would encourage you, if at all possible, to re-create what are now your separate Forms as UserControls, and display those inside the Panel.
But, I'm not clear if, in your design, the selector Buttons are always visible or not.
... end content added January 10 edit #1
It is a very bad idea to put a Form inside another Form in programming in Windows Forms, or put a Form inside any other Container Control, like a Panel, in a Form.
It doesn't surprise me that Form2's ToolTip disappears ... you are doing some strange stuff with the API calls.
There are many alternatives to your current design choice; alternatives like: using a UserControl instead of a Form ... possibly using a TabControl to create a tabbed-ui.
If you care to describe what the goal of your application and its user interface is, I, and I am sure other people here, will be glad to make suggestions based on years of experience.
I am curious to know why you think you need to use another Form inside (what I assume is) your Main Form.
If you think this feedback/advice is not helpful, let me know, and I'll remove this post.