Ich erhalte immer einen Fehler im folgenden Code, wenn ich das Druckvorschau-Fenster schließe oder das Druckvorschau-Fenster verschiebe. Ich kann nicht verstehen, warum das passiert. Es passiert in der g.DrawString() Zeile. Soweit ich das beurteilen kann, wurde auch nichts entsorgt.C# -Parameter ist nicht gültig Fehler
protected override void OnPaint(PaintEventArgs e)
{
Graphics g = e.Graphics;
Brush textBrush = new SolidBrush(this.ForeColor);
float width = TextRenderer.MeasureText(Text, this.Font).Width;
float height = TextRenderer.MeasureText(Text, this.Font).Height;
float radius = 0f;
if (ClientRectangle.Width < ClientRectangle.Height)
radius = ClientRectangle.Width * 0.9f/2;
else
radius = ClientRectangle.Height * 0.9f/2;
switch (orientation)
{
case Orientation.Rotate:
{
double angle = (_rotationAngle/180) * Math.PI;
g.TranslateTransform(
(ClientRectangle.Width + (float)(height * Math.Sin(angle)) - (float)(width * Math.Cos(angle)))/2,
(ClientRectangle.Height - (float)(height * Math.Cos(angle)) - (float)(width * Math.Sin(angle)))/2);
g.RotateTransform((float)_rotationAngle);
g.DrawString(Text, this.Font, textBrush, 0, 0);
g.ResetTransform();
}
break;
}
}
Erster Teil des Fehlers:
at System.Drawing.Graphics.CheckErrorStatus(Int32 status)
at System.Drawing.Graphics.DrawString(String s, Font font, Brush brush, RectangleF layoutRectangle, StringFormat format)
at System.Drawing.Graphics.DrawString(String s, Font font, Brush brush, Single x, Single y)
at ScanPro.CustomControls.UserLabel.OnPaint(PaintEventArgs e)
Jede Hilfe würde geschätzt.
Danke.
Was ist die Ausnahme? – jason
System.ArgumentException {"Parameter ist nicht gültig."} – Nathan
Was ist in 'Text'? –