Solved

user control refresh issue

Posted on 2011-03-14
12
235 Views
Last Modified: 2012-08-13
Hi Experts,
I have a problem related to the refresh method of a usercontrol:
I've implemented a usercontrol containing a label and button. I've implementet a method which
change the label color when the button is pressed and it works.
The usercontrol is iserted inside a tabcontrol. When I try to recall the same refresh logic of the button inside
the on_tabindexchanged method of the tabcontrol, I can see by debugg that the code is executed
and the color attribute of the label is correct, but it is not displayed. I've also tried to call the invalidate,
refresh, application.doevents methods but nothing happens (the label remains in the original color)
Thanks for help.
0
Comment
Question by:dionisio_79
[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
  • 7
  • 5
12 Comments
 
LVL 86

Expert Comment

by:Mike Tomlinson
ID: 35133394
Can we see your code in the tabindexchanged() event?
0
 

Author Comment

by:dionisio_79
ID: 35133565
I don't have the original source code here (tomorrow morning I will)   but it is something like:

 tabindexchanged(..)
{
a.methodxx()
}

where a is the usercontrol object which has been added in the tabcontrol constructor.

the methodxx  is the same method used inside the a.button1_click method
it changse the color of the label: label1.forecolor=color.yellow
0
 
LVL 86

Expert Comment

by:Mike Tomlinson
ID: 35133620
"which has been added in the tabcontrol constructor"

So you are using a custom TabControl?  What kind of modifications have you made?

Give us the "big picture" please.
0
Industry Leaders: 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:dionisio_79
ID: 35133798
Sorry,
 you're right.

The usercontrol has been added to one tab of the tabcontrol, which is owned by the main class (extends form).
Anyway, I will send you a complete code sample tomorrow.

Thank you.




0
 

Author Comment

by:dionisio_79
ID: 35136646
Hi All,

here's the code sample:


gpcl : UserControl
{

....
private void button1_Click(object sender, EventArgs e)
{
            methodxx();
}

....
public void methodxx(){label1.color=color.yellow}
this.Invalidate();
this.Refresh();
Application.DoEvents();
....

}


-----------------------------------------------------------------

mainclass: form

 private TabPage tabXX;
 private gpcl GP;

 public mainclass()
{
         
           InitializeComponent();
            this.Load += new EventHandler(mainclass_Load);
            LoadControl();

}

InitializeComponent()
{
...
tabXX= new System.Windows.Forms.TabPage();
}

void mainclass_Load(object sender, EventArgs e)
{
         GP = new gpcl();
          GP.Location = new System.Drawing.Point(0, 3);
         GP.Size = new System.Drawing.Size(794, 361);
                        tabXX.Controls.Add(GP);

}

 private void tabControl_SelectedIndexChanged(object sender, EventArgs e)
        {
         if (...tab index is th one interested..)  
                   GP.methodxx();
           
        }

}
0
 
LVL 86

Expert Comment

by:Mike Tomlinson
ID: 35137657
I'm not seeing the issue in your sample code.

What is LoadControl() doing though?
0
 

Author Comment

by:dionisio_79
ID: 35138455
The LoadControl method only assigns a text to the text property of the label:

lebel1.text="..sometext..";
0
 
LVL 86

Expert Comment

by:Mike Tomlinson
ID: 35138710
You probably just didn't post it...but I don't see where you're adding "tabXX" (your tabpage) to the TabControl.
0
 

Author Comment

by:dionisio_79
ID: 35139106
In the designer (InitializeComponent method):

this.tabControl.Controls.Add(this.tabXXi);
0
 
LVL 86

Expert Comment

by:Mike Tomlinson
ID: 35139142
Anyway you can upload a bare minimum project that has this issue?
0
 

Accepted Solution

by:
dionisio_79 earned 0 total points
ID: 35139682
Sorry, I don't have permission for this (it is not my own code).
Possibly, when I have time, I will create my own project just to work it out.
Thank you anyway.
0
 

Author Closing Comment

by:dionisio_79
ID: 35221175
I had not a complete sample so Experts were'nt able to halp me
0

Featured Post

SharePoint Admin?

Enable Your Employees To Focus On The Core With Intuitive Onscreen Guidance That is With You At The Moment of Need.

Question has a verified solution.

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

This article describes a simple method to resize a control at runtime.  It includes ready-to-use source code and a complete sample demonstration application.  We'll also talk about C# Extension Methods. Introduction In one of my applications…
This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
NetCrunch network monitor is a highly extensive platform for network monitoring and alert generation. In this video you'll see a live demo of NetCrunch with most notable features explained in a walk-through manner. You'll also get to know the philos…
Michael from AdRem Software explains how to view the most utilized and worst performing nodes in your network, by accessing the Top Charts view in NetCrunch network monitor (https://www.adremsoft.com/). Top Charts is a view in which you can set seve…

728 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