title: Picturebox draws artefacts when in RightToLeft mode
body: <p>When PictureBox have parent ListView and ListView RightToLeft set to true/yes I received some artifacts on drawing.</p>
  
  <p>Why this happens and how remove this artifacts?</p>
  
  <p>Images </p>
  
  <p><a href="http://i.stack.imgur.com/kx0zQ.png" rel="nofollow">http://i.stack.imgur.com/kx0zQ.png</a>
  http://i.stack.imgur.com/E5il3.png</p>
  
  <pre><code>public partial class Form1 : Form
   {
    public Form1()
    {
     InitializeComponent();
    }
  
    void DrawOnPictureBox(PictureBox pc)
    {  
     int delta;
     int.TryParse((string)comboBox1.SelectedItem, out delta);
     pc.Width = 100;
     pc.Height = 40;
  
     if (pc.Image == null)
      pc.Image = new Bitmap(pc.Width, pc.Height);
     else
      if (pc.Image.Width != pc.Width || pc.Image.Height != pc.Height)
       pc.Image = new Bitmap(pc.Width, pc.Height);
  
     Graphics gr = Graphics.FromImage(pc.Image);
     gr.Clear(Color.White);
  
     int paintWidth = pc.Width - 1;
     int paintHeight = pc.Height - 1;
     PointF[] points = new PointF[4];
  
     points[0] = new PointF(delta, paintHeight - 1);
     points[1] = new PointF(paintWidth - delta, paintHeight - 1);
     points[2] = new PointF(paintWidth - delta, 0);
     points[3] = new PointF(delta, 0);
  
     //gr.DrawPolygon(new Pen(Color.Black), points);
     /**/
     gr.DrawLine(new Pen(Color.Black), points[0], points[1]);
     gr.DrawLine(new Pen(Color.Black), points[1], points[2]);
     gr.DrawLine(new Pen(Color.Black), points[2], points[3]);
     gr.DrawLine(new Pen(Color.Black), points[3], points[0]);
     /**/
  
     gr.DrawString("1", this.Font, new SolidBrush(Color.Black), 10, 10);
    }
  
    private void button1_Click(object sender, EventArgs e)
    {
     pictureBox1.Parent = listView1;
     DrawOnPictureBox(pictureBox1);
  
     pictureBox2.Parent = listView2;
     DrawOnPictureBox(pictureBox2);
  
     pictureBox3.Parent = listView3;
     DrawOnPictureBox(pictureBox3);   
    }
  
    private void checkBox1_CheckedChanged(object sender, EventArgs e)
    {
     if (checkBox1.Checked)
     {
      listView1.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
      listView1.RightToLeftLayout = true;
  
      listView2.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
      listView2.RightToLeftLayout = true;
  
      listView3.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
      listView3.RightToLeftLayout = true;
     }
     else
     {
      listView1.RightToLeft = System.Windows.Forms.RightToLeft.No;
      listView1.RightToLeftLayout = false;
  
      listView2.RightToLeft = System.Windows.Forms.RightToLeft.No;
      listView2.RightToLeftLayout = false;
  
      listView3.RightToLeft = System.Windows.Forms.RightToLeft.No;
      listView3.RightToLeftLayout = false;
     }
    }
   }
  
  
  
      namespace WindowsFormsApplication2
  {
   partial class Form1
   {
    /// &lt;summary&gt;
    /// Required designer variable.
    /// &lt;/summary&gt;
    private System.ComponentModel.IContainer components = null;
  
    /// &lt;summary&gt;
    /// Clean up any resources being used.
    /// &lt;/summary&gt;
    /// &lt;param name="disposing"&gt;true if managed resources should be disposed; otherwise, false.&lt;/param&gt;
    protected override void Dispose(bool disposing)
    {
     if (disposing &amp;&amp; (components != null))
     {
      components.Dispose();
     }
     base.Dispose(disposing);
    }
  
    #region Windows Form Designer generated code
  
    /// &lt;summary&gt;
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// &lt;/summary&gt;
    private void InitializeComponent()
    {
     this.button1 = new System.Windows.Forms.Button();
     this.checkBox1 = new System.Windows.Forms.CheckBox();
     this.listView1 = new System.Windows.Forms.ListView();
     this.pictureBox1 = new System.Windows.Forms.PictureBox();
     this.listView2 = new System.Windows.Forms.ListView();
     this.pictureBox2 = new System.Windows.Forms.PictureBox();
     this.listView3 = new System.Windows.Forms.ListView();
     this.pictureBox3 = new System.Windows.Forms.PictureBox();
     this.comboBox1 = new System.Windows.Forms.ComboBox();
     ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
     ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
     ((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).BeginInit();
     this.SuspendLayout();
     // 
     // button1
     // 
     this.button1.Location = new System.Drawing.Point(357, 23);
     this.button1.Name = "button1";
     this.button1.Size = new System.Drawing.Size(75, 23);
     this.button1.TabIndex = 1;
     this.button1.Text = "button1";
     this.button1.UseVisualStyleBackColor = true;
     this.button1.Click += new System.EventHandler(this.button1_Click);
     // 
     // checkBox1
     // 
     this.checkBox1.AutoSize = true;
     this.checkBox1.Location = new System.Drawing.Point(481, 35);
     this.checkBox1.Name = "checkBox1";
     this.checkBox1.Size = new System.Drawing.Size(80, 17);
     this.checkBox1.TabIndex = 2;
     this.checkBox1.Text = "checkBox1";
     this.checkBox1.UseVisualStyleBackColor = true;
     this.checkBox1.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged);
     // 
     // listView1
     // 
     this.listView1.Location = new System.Drawing.Point(2, 263);
     this.listView1.Name = "listView1";
     this.listView1.Size = new System.Drawing.Size(317, 364);
     this.listView1.TabIndex = 3;
     this.listView1.UseCompatibleStateImageBehavior = false;
     // 
     // pictureBox1
     // 
     this.pictureBox1.Location = new System.Drawing.Point(24, 280);
     this.pictureBox1.Name = "pictureBox1";
     this.pictureBox1.Size = new System.Drawing.Size(130, 99);
     this.pictureBox1.TabIndex = 0;
     this.pictureBox1.TabStop = false;
     // 
     // listView2
     // 
     this.listView2.Location = new System.Drawing.Point(394, 55);
     this.listView2.Name = "listView2";
     this.listView2.Size = new System.Drawing.Size(538, 426);
     this.listView2.TabIndex = 4;
     this.listView2.UseCompatibleStateImageBehavior = false;
     // 
     // pictureBox2
     // 
     this.pictureBox2.Location = new System.Drawing.Point(407, 69);
     this.pictureBox2.Name = "pictureBox2";
     this.pictureBox2.Size = new System.Drawing.Size(130, 397);
     this.pictureBox2.TabIndex = 5;
     this.pictureBox2.TabStop = false;
     // 
     // listView3
     // 
     this.listView3.Location = new System.Drawing.Point(2, 3);
     this.listView3.Name = "listView3";
     this.listView3.Size = new System.Drawing.Size(183, 155);
     this.listView3.TabIndex = 6;
     this.listView3.UseCompatibleStateImageBehavior = false;
     // 
     // pictureBox3
     // 
     this.pictureBox3.Location = new System.Drawing.Point(2, 3);
     this.pictureBox3.Name = "pictureBox3";
     this.pictureBox3.Size = new System.Drawing.Size(183, 155);
     this.pictureBox3.TabIndex = 7;
     this.pictureBox3.TabStop = false;
     // 
     // comboBox1
     // 
     this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
     this.comboBox1.FormattingEnabled = true;
     this.comboBox1.Items.AddRange(new object[] {
              "0",
              "1",
              "5",
              "10"});
     this.comboBox1.Location = new System.Drawing.Point(216, 55);
     this.comboBox1.Name = "comboBox1";
     this.comboBox1.Size = new System.Drawing.Size(120, 21);
     this.comboBox1.TabIndex = 8;
     // 
     // Form1
     // 
     this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
     this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
     this.ClientSize = new System.Drawing.Size(951, 627);
     this.Controls.Add(this.comboBox1);
     this.Controls.Add(this.pictureBox2);
     this.Controls.Add(this.pictureBox1);
     this.Controls.Add(this.pictureBox3);
     this.Controls.Add(this.listView2);
     this.Controls.Add(this.listView1);
     this.Controls.Add(this.checkBox1);
     this.Controls.Add(this.button1);
     this.Controls.Add(this.listView3);
     this.Name = "Form1";
     this.Text = "Form1";
     ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
     ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
     ((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).EndInit();
     this.ResumeLayout(false);
     this.PerformLayout();
  
    }
  
    #endregion
  
    private System.Windows.Forms.Button button1;
    private System.Windows.Forms.CheckBox checkBox1;
    private System.Windows.Forms.ListView listView1;
    private System.Windows.Forms.PictureBox pictureBox1;
    private System.Windows.Forms.ListView listView2;
    private System.Windows.Forms.PictureBox pictureBox2;
    private System.Windows.Forms.ListView listView3;
    private System.Windows.Forms.PictureBox pictureBox3;
    private System.Windows.Forms.ComboBox comboBox1;
   }
  }
  </code></pre>