title: Winforms ToolStrip.BackColor returns wrong color
body: <h1>The origin of my problem</h1>
  <p>I created a very simple dummy application in C# using winforms. It contains only a ToolStrip and a TrackBar inside that ToolStrip. The TrackBar should have the same BackColor as the ToolStrip, but it seems, that the property ToolStrip.BackColor does not return the actual background color.</p>
  <pre><code>public Form1()
  {
      //// Here the ToolStrip is created.
      //// This code is generated by the designer.
      this.InitializeComponent();
      //// Here the the TrackBar is created.
      //// I think this is impossible to do via the Designer.
      this.CreateSpeedSlider();
  }
  
  private void CreateSpeedSlider()
  {
      this.toolStrip.SuspendLayout();
      this.speedSlider = new TrackBar
      {
          TickStyle = TickStyle.None,
          AutoSize = false,
          Height = this.toolStrip.Height,
          Minimum = 0,
          Maximum = 10,
          BackColor = this.toolStrip.BackColor,
      };
  
      this.toolStrip.Items.Add(new ToolStripControlHost(this.speedSlider));
      this.toolStrip.ResumeLayout();
  }
  </code></pre>
  <p>The result is a white TrackBar on a light grey ToolStrip. So it seems that</p>
  <pre><code>this.toolStrip.BackColor
  </code></pre>
  <p>does not return the back color of the ToolStrip that is actually used to draw it.</p>
  <h1>However...</h1>
  <p>If I change my function to</p>
  <pre><code>private void CreateSpeedSlider()
  {
      this.toolStrip.BackColor = this.toolStrip.BackColor;
      ...
  }
  </code></pre>
  <p>I get a white slider on a white ToolStrip. So ... assigning the value of the property to itself actually changes the color from light grey to white???</p>
  <h1>So the question is...</h1>
  <p>Is there any good way to retrieve the correct background color of a ToolStrip without such 'hacks'?</p>
  <p>And is this behaviour intentional or am I missing something?</p>