?
Solved

user control refresh issue

Posted on 2011-03-14
12
Medium Priority
?
236 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
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.

 

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

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

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

Extention Methods in C# 3.0 by Ivo Stoykov C# 3.0 offers extension methods. They allow extending existing classes without changing the class's source code or relying on inheritance. These are static methods invoked as instance method. This…
Introduction Although it is an old technology, serial ports are still being used by many hardware manufacturers. If you develop applications in C#, Microsoft .NET framework has SerialPort class to communicate with the serial ports.  I needed to…
If you’ve ever visited a web page and noticed a cool font that you really liked the look of, but couldn’t figure out which font it was so that you could use it for your own work, then this video is for you! In this Micro Tutorial, you'll learn yo…
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…
Suggested Courses

762 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