این یه مثال که همه موارد رو انجام میده، یه pictureBox روی فرم قرار بدید با دو تا تکست باکس (txtWidth و txtHeight که طول و عرض مستطیل رو وارد می کنید) و یه دکمه. برای رویداد کلیک دکمه کد زیر رو بنویسید:
Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
using (Graphics gr = Graphics.FromImage(bmp))
{
gr.DrawRectangle(Pens.Red, new Rectangle(0, 0, Convert.ToInt32(txtWidth.Text), Convert.ToInt32(txtHeight.Text)));
gr.DrawLine(Pens.Blue, new Point(0, 0), new Point(100, 100));
gr.DrawEllipse(Pens.Green, new Rectangle(0, 0, Convert.ToInt32(txtWidth.Text), Convert.ToInt32(txtHeight.Text)));
gr.DrawString("My Text", new Font("tahoma", 10, FontStyle.Regular), Brushes.Orange, new PointF(80, 80));
pictureBox1.Invalidate();
}
pictureBox1.Image=bmp;
ضمناً برای رسم دایره تابع DrawEllipse هست که توی پست قبلی اشتباه نوشته بودم. تمام عددهایی که توی کد نوشتم رو می تونید براش تکست باکس (یا هر کنترل ورودی دیگه ای) روی فرم قرار بدید و مقدارش رو از کاربر بگیرید. یه مساله دیگه، توی شکل شما اون حالت جدول (چهار خونه یا هر اسمی) بوسیله خط ها ایجاد میشن. که مثلاً هر 5 تا خط در میون میتونید رنگ خط و ضخامتش رو عوض کنید.