tgoop.com/CsharpWindowsForm/227
Last Update:
تابع الشرح
ملاحظة :
ماذا لو انت تريد ان تضع اكثر من نص في الفورم هل سوف تقوم بتكرار الكود اكثر من مرة بهذا الشكل
private void Form4_Paint(object sender, PaintEventArgs e)
{
int x = 40, y = 50;
Font f = new Font("Andalus", 20, FontStyle.Bold);
e.Graphics.RotateTransform(40);
e.Graphics.TranslateTransform(x, y, System.Drawing.Drawing2D.MatrixOrder.Append);
e.Graphics.DrawString("Hello", f, Brushes.Green, x, y);
x += 50;
e.Graphics.RotateTransform(50);
e.Graphics.TranslateTransform(x, y, System.Drawing.Drawing2D.MatrixOrder.Append);
e.Graphics.DrawString("Wellcome", f, Brushes.Green, x, y);
}
الطريقة تعتبر صحيحه بس سوف تجعل الكود الخاص بك كثييير وتتعب نفسك بهذه الطريقة ما رايك ان تقوم باختصار الكود وتقوم بعمل دالة تؤدي هذه المهمه
مثال :
public void Draw(Graphics g ,int a,string str,int x,int y,Font f , Brush b)
{
System.Drawing.Drawing2D.GraphicsState state = g.Save();
g.RotateTransform(a);
g.TranslateTransform(x, y, System.Drawing.Drawing2D. MatrixOrder.Append);
g.DrawString(str, f, b, 0, 0);
g.Restore(state);
}
private void Form4_Paint(object sender, PaintEventArgs e)
{
int x = 40, y = 50;
Font f = new Font("Andalus", 20, FontStyle.Bold);
Draw(e.Graphics, 50, "YEMEN", x, y, f, Brushes.Green);
x += 50;
Draw(e.Graphics, 60, "C# Windows Forms", x, y, f, Brushes.Red);
x += 100; y += 50;
Draw(e.Graphics, 60, "Hello World", x, y, f = new Font("Traditional Arabic", 20), Brushes.Blue);
}
لاحظ كيف قمنا بعمل دالة تحمل وسائط التي استخدمناها في الكود السابق
الكلاس GraphicsState يحفظ الحالة الحالية لهذه الرسومات ويحدد الحالة المحفوظة باستخدام GraphicsState.
انتهى ................
https://www.tgoop.com/CsharpWindowsForm
BY برمجة تطبيقات الويندوز C# Programming

Share with your friend now:
tgoop.com/CsharpWindowsForm/227