Der folgende Code tritt innerhalb der System.Windows.Forms.PaintEventHandler eines System.Windows.Forms.PictureBox unter dem .NET Compact Framework (e ist vom Typ PaintEventArgs):Warum wird diese gestrichelte Linie in Windows Forms .NET Compact Framework als solide angezeigt?
var penDashed = new Pen(Color.Red, 3);
penDashed.DashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
using (penDashed)
{
e.Graphics.DrawLine(penDashed, 30, 30, 100, 30);
}
Die Linie Feststoff wird Rendering trotz der Tatsache, dass ich den DashStyle auf Gestrichelt gesetzt habe. Die Länge und Farbe sind gut.
Irgendwelche Ideen?
Es sollte funktionieren, wie es soll. Ich frage mich, warum Sie den Stift jedoch außerhalb der using-Klausel deklarieren und ändern. Das sieht für mich falsch aus .. 'mit (Pen penDashed = neuer Stift (Color.Red, 3)) {penDashed.DashStyle = System.Drawing.Drawing2D.DashStyle.Dash; e.Graphics.DrawLine (penDashed, 30, 30, 100, 30);} würde so geschrieben werden .. – TaW
Der Grund dafür ist, dass ich dem Stil folge, der bereits im geerbten Code vorhanden ist. Es zeichnet tatsächlich Rechtecke, die fest sind (mit Graphics.DrawPolygon()). Ich versuche, der Mischung ein gestricheltes Rechteck hinzuzufügen. Das gestrichelte Rechteck wurde so solide dargestellt, dass ich etwas Einfacheres wie eine Linie versuchte und das gleiche Ergebnis bekam. – GrantA
Die Breite des Stiftes bewirkt, dass sich die Striche berühren. Wenn Sie eine Linie mit einer Stiftbreite von 1 zeichnen, wird der Strich wieder angezeigt. Ich weiß nicht, ob es einen einfachen Weg gibt, das gewünschte Ergebnis zu erzielen. –