?
Solved

Label Forecolor is changing unexpectedly?

Posted on 2014-07-18
8
Medium Priority
?
205 Views
Last Modified: 2014-07-18
I have a datagridview that contains quite a few controls, GroupBoxes, Tabs to name a couple. In one of my GB's, I have several labels that when they appear, there Forecolor is either Green or Red. This GB is resides on a TabPage as well as does another smaller TabControl. When I click on a TabPage of the smaller TabControl...the ForeColor of the Labels in the GB revert back to Black. Now there is no code in my logic that does this...consequently I'm stumped as to why this would happen. Any other action I do on the form doesn't change the Labels back to Green or Red. My guess is that it has something to do with the Form and/or certain controls repainting themselves but not certain.
0
Comment
Question by:BlakeMcKenna
[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
  • 3
  • 3
  • 2
8 Comments
 
LVL 63

Expert Comment

by:Fernando Soto
ID: 40204751
Can you post a screen shot of the UI it will help in visualizing what you are saying. Also post the code showing the way you update the Forecolor of the control.

What type of application Windows Form, WPF other?
What language are you using?
0
 
LVL 40
ID: 40204855
Perform a project wide search for .Green and .Red, using the Find in Files feature (Ctrl-Shift-F). It might lead you to the culprit.

If this does not give results, try for Green, but without the dot in case the color is not straight Green, but something like DarkGreen.
0
 

Author Comment

by:BlakeMcKenna
ID: 40204954
This is a VB.Net Windows App. Here is a screenshot.
Screenshot.jpg
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.

 
LVL 63

Expert Comment

by:Fernando Soto
ID: 40205018
How about the code showing how the Forecolor is being set.
0
 

Author Comment

by:BlakeMcKenna
ID: 40205039
Sorry...here ya go!

                    If CBool(clsMain.loadTEST) Then
                        lblLoad_TestStatus.Visible = True
                        cboDefaultLoad.Checked = True

                        If clsMain.loadTESTComplete Then
                            lblLoad_TestStatus.ForeColor = Color.Green
                            lblLoad_TestStatus.Text = "Complete"
                        Else
                            lblLoad_TestStatus.ForeColor = Color.Red
                            lblLoad_TestStatus.Text = "Incomplete"
                        End If

                        InitializeErrorClass(EH)
                        cmbChannel1.Text = BL.GetChannel(clsLoadH.channel_ID, EH)

                        InitializeErrorClass(EH)
                        cmbDirection1.Text = BL.GetDirection(clsLoadH.direction_ID, EH)

                        InitializeErrorClass(EH)
                        cmbCellPosition1.Text = BL.GetAngle(clsLoadH.angle_ID, EH)

                        txtLoadingCapacity.Text = clsLoadH.load
                        cmbLoadDecimal1.Text = clsLoadH.loadDecimalPlaces

                        InitializeErrorClass(EH)
                        cmbLoadUnitType.Text = BL.GetUnitType(clsLoadH.loadUnitType_ID, EH)

                        InitializeErrorClass(EH)
                        cmbLoadUnit.Text = BL.GetUnit(clsLoadH.loadUnit_ID, EH)

                        InitializeErrorClass(EH)
                        cmbOutputUnitType.Text = BL.GetUnitType(clsLoadH.outputUnitType_ID, EH)

                        InitializeErrorClass(EH)
                        cmbOutputUnit.Text = BL.GetUnit(clsLoadH.outputUnit_ID, EH)

                        InitializeErrorClass(EH)
                        cmbOutputDecimal1.Text = clsLoadH.outputDecimalPlaces

                        InitializeErrorClass(EH)
                        GetLoadData(iMain_ID, EH)

                        cmbRunNo.SelectedIndex = 0

                        If EH.ErrorMessage > "" Then
                            GoTo ProcessMessage
                        End If
                    End If

                    If CBool(clsMain.repeatabilityTEST) Then
                        lblRepeatability_TestStatus.Visible = True
                        cboRepeatabilityTest.Checked = True

                        If clsMain.repeatabilityTESTComplete Then
                            lblRepeatability_TestStatus.ForeColor = Color.Green
                            lblRepeatability_TestStatus.Text = "Complete"
                        Else
                            lblRepeatability_TestStatus.ForeColor = Color.Red
                            lblRepeatability_TestStatus.Text = "Incomplete"
                        End If

                        If Not tabTests.TabPages.Contains(tabRepeatabilityTest) Then
                            tabTests.TabPages.Add(tabRepeatabilityTest)
                        End If
                    End If

                    If CBool(clsMain.creepTEST) Then
                        lblCreep_TestStatus.Visible = True
                        cboCreepTest.Checked = True

                        If clsMain.creepTESTComplete Then
                            lblCreep_TestStatus.ForeColor = Color.Green
                            lblCreep_TestStatus.Text = "Complete"
                        Else
                            lblCreep_TestStatus.ForeColor = Color.Red
                            lblCreep_TestStatus.Text = "Incomplete"
                        End If

                        If Not tabTests.TabPages.Contains(tabCreepTest) Then
                            tabTests.TabPages.Add(tabCreepTest)
                        End If
                    End If

                    If CBool(clsMain.zeroBalanceTEST) Then
                        lblFirstFinalZero_TestStatus.Visible = True
                        cboFirstFinalZero.Checked = True

                        If clsMain.zeroBalanceTESTComplete Then
                            lblFirstFinalZero_TestStatus.ForeColor = Color.Green
                            lblFirstFinalZero_TestStatus.Text = "Complete"
                        Else
                            lblFirstFinalZero_TestStatus.ForeColor = Color.Red
                            lblFirstFinalZero_TestStatus.Text = "Incomplete"
                        End If
                    End If

                    If CBool(clsMain.shuntTEST) Then
                        lblShunt_TestStatus.Visible = True
                        cboShuntTest.Checked = True

                        If clsMain.shuntTESTComplete Then
                            lblShunt_TestStatus.ForeColor = Color.Green
                            lblShunt_TestStatus.Text = "Complete"
                        Else
                            lblShunt_TestStatus.ForeColor = Color.Red
                            lblShunt_TestStatus.Text = "Incomplete"
                        End If
                    End If

                    If CBool(clsMain.excitationTEST) Then
                        lblExcitation_TestStatus.Visible = True
                        cboExcitation.Checked = True

                        If clsMain.excitationTESTComplete Then
                            lblExcitation_TestStatus.ForeColor = Color.Green
                            lblExcitation_TestStatus.Text = "Complete"
                        Else
                            lblExcitation_TestStatus.ForeColor = Color.Red
                            lblExcitation_TestStatus.Text = "Incomplete"
                        End If
                    End If

                    If CBool(clsMain.reproducibilityTEST) Then
                        lblReproducibility_TestStatus.Visible = True
                        cboReproducibility.Checked = True

                        If clsMain.reproducibilityTESTComplete Then
                            lblReproducibility_TestStatus.ForeColor = Color.Green
                            lblReproducibility_TestStatus.Text = "Complete"
                        Else
                            lblReproducibility_TestStatus.ForeColor = Color.Red
                            lblReproducibility_TestStatus.Text = "Incomplete"
                        End If
                    End If

                    If CBool(clsMain.recoveryTEST) Then
                        lblRecovery_TestStatus.Visible = True
                        cboRecovery.Checked = True

                        If clsMain.recoveryTESTComplete Then
                            lblRecovery_TestStatus.ForeColor = Color.Green
                            lblRecovery_TestStatus.Text = "Complete"
                        Else
                            lblRecovery_TestStatus.ForeColor = Color.Red
                            lblRecovery_TestStatus.Text = "Incomplete"
                        End If
                    End If

                    If CBool(clsMain.resistanceTEST) Then
                        lblResistance_TestStatus.Visible = True
                        cboResistance.Checked = True

                        If clsMain.resistanceTESTComplete Then
                            lblResistance_TestStatus.ForeColor = Color.Green
                            lblResistance_TestStatus.Text = "Complete"
                        Else
                            lblResistance_TestStatus.ForeColor = Color.Red
                            lblResistance_TestStatus.Text = "Incomplete"
                        End If
                    End If

                    If CBool(clsMain.leakageTEST) Then
                        lblLeakage_TestStatus.Visible = True
                        cboLeakage.Checked = True

                        If clsMain.leakageTESTComplete Then
                            lblLeakage_TestStatus.ForeColor = Color.Green
                            lblLeakage_TestStatus.Text = "Complete"
                        Else
                            lblLeakage_TestStatus.ForeColor = Color.Red
                            lblLeakage_TestStatus.Text = "Incomplete"
                        End If
                    End If
                End If

Open in new window

0
 
LVL 63

Expert Comment

by:Fernando Soto
ID: 40205141
Do you ever set the ForeColor to Nothing?
Also Have you done a global search of the project for Green as James has suggested?

The reason I ask if you have set the ForeColor somewhere to Nothing is because ForeColor is a ambient  property.

From Microsoft Documentation.

The ForeColor property is an ambient property. An ambient property is a control property that, if not set, is retrieved from the parent control. For example, a Button will have the same BackColor as its parent Form by default. For more information about ambient properties, see the AmbientProperties class or the Control class overview.
0
 
LVL 40

Accepted Solution

by:
Jacques Bourgeois (James Burger) earned 2000 total points
ID: 40205153
Have you tried my solution? If the color is set to green or red, it is done somewhere, possibly in a place you did not think to look for. A search will find it.
0
 

Author Closing Comment

by:BlakeMcKenna
ID: 40205187
I know why it's doing it now. I have a routine that handles all control settings including the ForeColor and BackColor properties. When I selected a Tab from the TabControl, it executed that function which caused the Label to revert back to it's specified color, which in this case was it's default color of Black!
0

Featured Post

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!

Question has a verified solution.

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

Article by: Kraeven
Introduction Remote Share is a simple remote sharing tool, enabling you to see, add and remove remote or local shares. The application is written in VB.NET targeting the .NET framework 2.0. The source code and the compiled programs have been in…
If you're writing a .NET application to connect to an Access .mdb database and use pre-existing queries that require parameters, you've come to the right place! Let's say the pre-existing query(qryCust) in Access takes a Date as a parameter and l…
In this brief tutorial Pawel from AdRem Software explains how you can quickly find out which services are running on your network, or what are the IP addresses of servers responsible for each service. Software used is freeware NetCrunch Tools (https…
In this video, Percona Solution Engineer Rick Golba discuss how (and why) you implement high availability in a database environment. To discuss how Percona Consulting can help with your design and architecture needs for your database and infrastr…
Suggested Courses

765 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