Hallo!
Mein derzeitiger Code :
const string SchriftMitte = "Times New Roman";
const int SchriftGradMitte = 18;
System.Drawing.SizeF Platzbedarf;
float X;
float Y;
// Die "Entwickler Teil 1" Schrift
using (var Schriftmitte = new System.Drawing.Font(SchriftMitte, SchriftGradMitte))
{
Platzbedarf = g.MeasureString(Properties.Resources.BegrüßungErsteZeile, Schriftmitte);
// Das Problem
Y = r.Top; //
X = r.Left + (r.Width - Platzbedarf.Width) / 2;
g.DrawString(Properties.Resources.BegrüßungErsteZeile, Schriftmitte,
System.Drawing.Brushes.Black, X, Y);
Ich hatte es zwar schon mal in der Mitte jedoch verschwand die Schrift wenn ich das Fenster in Y vergrößerte.
Bin gespannt auf eure Antworten!
lg
Wenn du uns sagst, welches Problem du lösen möchtest, und evtl. deinen Code noch etwas formatierst, dann können wir dir sicherlich auch weiterhelfen.
Siehe dazu [Hinweis] Wie poste ich richtig?, besonders Punkt 5 und 6
Weeks of programming can save you hours of planning
// Die "Entwickler Teil 1" Schrift
using (var Schriftmitte = new System.Drawing.Font(SchriftMitte, SchriftGradMitte))
{
Platzbedarf = g.MeasureString(Properties.Resources.BegrüßungErsteZeile, Schriftmitte);
// Y ist das Problem. Wenn ich z.b 100 noch in Y dazurechne, wird sie angezeigt
//aber beim verändern der Fenstergröße verschwindet sie wieder.
Y = (r.Top + r.Height) / 2;
X = r.Left + (r.Width - Platzbedarf.Width) / 2;
g.DrawString(Properties.Resources.BegrüßungErsteZeile, Schriftmitte,
System.Drawing.Brushes.Black, X, Y);
}
Die Schrift soll genau in der Mitte des r = rectangle ( Rechteckes) angezeigt werden, auch beim Verändern der
Fensterposition.
Auf welchem Control zeichnest du denn? Und auch korrekt im OnPaint
, s.a. [Tutorial] Zeichnen in Windows-Forms-Programmen (Paint/OnPaint, PictureBox) ?
Edit: Und was ist r
bei deinem Code?
Bedenke auch, daß die Positionen (X, Y
) immer relativ zum aktuellen Control anzugeben sind.
Danke für den Link 😃
es wird auf g.graphics gezeichnet und nicht auf einem controll.
r ist das System.Drawing.Rectangle