Jag håller på att försöka att göra en kontroll. Ganska enkel men den bygger på att kunna göra en testa att skriva raden med en decimal konstant typ Om jag gör så här Nu börjar det att likna någonting.Problem med controll.
vertikal label.
Här är mitt problem:
<code>
public enum TextVinkel
{
Normal = (int)0.0f,
NerifrånUpp = (int)-90.0f,
UppifrånNer = (int)90.0f,
LutaNerUpp = (int)-135.0f,
LutaUppNer = (int)45.0f,
}
TextVinkel textVinkel = TextVinkel.NerifrånUpp;
public TextVinkel Text_Vinkel
{
get { return this.textVinkel; }
set { this.textVinkel = value; Invalidate(); }
}
protected override void OnPaint(PaintEventArgs pe)
{
base.OnPaint(pe);
Graphics g = pe.Graphics;
g.TranslateTransform(vBred - 1, vHojd - 1);
g.RotateTransform(-90.0f);
g.RotateTransform(textVinkel); //<--- här är det problem
g.DrawString(vText, new Font(new System.Drawing.Font("Lucida Console", TextStorlek), FontStyle.Bold), txtColor1, 0.0f, 0.0f);
g.ResetTransform();
g.TranslateTransform(vBred, vHojd);
g.RotateTransform(-90.0f);
g.RotateTransform(textVinkel); //<--- här är det problem
g.DrawString(vText, new Font(new System.Drawing.Font("Lucida Console", TextStorlek), FontStyle.Bold), txtColor2, 0.0f, 0.0f);
g.ResetTransform();
//och lite kod till
}
</code>
Error som jag får:
<info>
Error 1 The best overloaded method match for 'System.Drawing.Graphics.RotateTransform(float)' has some invalid arguments
Error 2 Argument '1': cannot convert from 'VertikalText.VertikalText.TextVinkel' to 'float'
</info>
Jag kan tydligen inte göra så här, hur bör jag göra?Sv: Problem med controll.
g.Graphics.RotateTransform(270)Sv:Problem med controll.
<code>
g.RotateTransform((float)270);
</code>
så tar han det.Sv: Problem med controll.
<code>
g.RotateTransform((int)textVinkel);
//men jag har galet här.
Normal = (int)0.0f,
NerifrånUpp = (int)-90.0f,
UppifrånNer = (int)90.0f,
LutaNerUpp = (int)-135.0f,
LutaUppNer = (int)45.0f,
</code>
Jag fick tag på denna kod någonstans men det blir helt fel. Kan du se vad som går galet?
Nu blev det lite bättre
<code>
Normal = (int)90,
NerUpp = (int)360,
UppNer = (int)0,
LutaNerUpp = (int)45,
LutaUppNer = (int)135
</code>
Det som inte fungerar är UppNer
Sen undrar jag, om det inte finns något sätt där jag kodmässigt kan bestämma de andra propertis t ex
höjd bredd osv.