title: Visual Styles-related operation resulted in an error On Windows classic theme
body: <p>im running windows 7 embedded and to save on performance i change the visual styles from windows 7 basic to windows classic.</p>
  
  <p>on which im running WinForms appl with a custom progress bar. the error is on the line <a href="https://docs.microsoft.com/en-us/dotnet/api/system.drawing.rectangle.inflate?view=netframework-4.7.2#System_Drawing_Rectangle_Inflate_System_Int32_System_Int32_" rel="nofollow noreferrer">Rectangle.Inflate(x,y);</a></p>
  
  <p>On windows 7 basic theme all is good but after i switch to windows classic im getting the above error. Couldn't find any info about this, is there anyway around this?</p>
  
  <p>this is my custom control</p>
  
  <pre><code>public class CustomProgressBar : ProgressBar
      {
          //Property to set to decide whether to print a % or Text
          public ProgressBarDisplayText DisplayStyle { get; set; }
  
          //Property to hold the custom text
          public String CustomText { get; set; }
  
          public CustomProgressBar()
          {
              // Modify the ControlStyles flags -&gt; OptimizedDoubleBuffer to avoid flickering text          
              SetStyle(ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer, true);
  
          }
  
          protected override void OnPaint(PaintEventArgs e)
          {
              Rectangle rect = ClientRectangle;
              Graphics g = e.Graphics;
  
              ProgressBarRenderer.DrawHorizontalBar(g, rect);
              rect.Inflate(-3, -3); //here im getting the error
              if (Value &gt; 0)
              {
                  // As we doing this ourselves we need to draw the chunks on the progress bar
                  Rectangle clip = new Rectangle(rect.X, rect.Y, (int)Math.Round(((float)Value / Maximum) * rect.Width), rect.Height);
                  ProgressBarRenderer.DrawHorizontalChunks(g, clip);
              }
  
              // Set the Display text (Either a % amount or our custom text
              string text = DisplayStyle == ProgressBarDisplayText.Percentage ? Value.ToString() + '%' : CustomText;
  
  
              using (Font f = new Font(FontFamily.GenericSerif, 14))
              {
  
                  SizeF len = g.MeasureString(text, f);
                  // Calculate the location of the text (the middle of progress bar)
                  // Point location = new Point(Convert.ToInt32((rect.Width / 2) - (len.Width / 2)), Convert.ToInt32((rect.Height / 2) - (len.Height / 2)));
                  Point location = new Point(Convert.ToInt32((Width / 2) - len.Width / 2), Convert.ToInt32((Height / 2) - len.Height / 2));
                  // The commented-out code will centre the text into the highlighted area only. This will centre the text regardless of the highlighted area.
                  // Draw the custom text
                  g.DrawString(text, f, Brushes.Red, location);
              }
          }
      }
  </code></pre>
  
  <p>this is my stack trace</p>
  
  <pre><code>System.InvalidOperationException: Visual Styles-related operation resulted in an error because no visual style is currently active.
     at System.Windows.Forms.VisualStyles.VisualStyleRenderer.IsCombinationDefined(String className, Int32 part)
     at System.Windows.Forms.VisualStyles.VisualStyleRenderer..ctor(String className, Int32 part, Int32 state)
     at System.Windows.Forms.ProgressBarRenderer.InitializeRenderer(VisualStyleElement element)
     at System.Windows.Forms.ProgressBarRenderer.DrawHorizontalBar(Graphics g, Rectangle bounds)
     at YonatanDataReader2.CustomProgressBar.OnPaint(PaintEventArgs e)
     at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
     at System.Windows.Forms.Control.WmPaint(Message&amp; m)
     at System.Windows.Forms.Control.WndProc(Message&amp; m)
     at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&amp; m)
     at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&amp; m)
     at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
  </code></pre>
  
  <p><strong><em>Edit</em></strong></p>
  
  <p>for some reason on my client's machine even if the visual styles are checked and he uses Windows 7 Aero theme im still getting the above error, I also tried to set <code>Application.SetCompatibleTextRenderingDefault(true);</code> which did not helped as well</p>