Solved

Label Forecolor is changing unexpectedly?

Posted on 2014-07-18
8
196 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
  • 3
  • 3
  • 2
8 Comments
 
LVL 62

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
 
LVL 62

Expert Comment

by:Fernando Soto
ID: 40205018
How about the code showing how the Forecolor is being set.
0
Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

 

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 62

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 500 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

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

This article explains how to create and use a custom WaterMark textbox class.  The custom WaterMark textbox class allows you to set the WaterMark Background Color and WaterMark text at design time.   IMAGE OF WATERMARKS STEPS Create VB …
Introduction When many people think of the WebBrowser (http://msdn.microsoft.com/en-us/library/2te2y1x6%28v=VS.85%29.aspx) control, they immediately think of a control which allows the viewing and navigation of web pages. While this is true, it's a…
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

758 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

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now