PDA

View Full Version : چطوری تصویر نوشته شده در شیئ Graphics دوباره نمایش داده بشه؟



ali2914
دوشنبه 04 شهریور 1398, 20:07 عصر
سلام دوستان
من یه متن ساده را با استفاده از شیئ Graphics در فرم می نویسم . اگه فرم بازو بسته بشه متن پاک می شه . با نوشتن همون دستور در رویداد Paint فرم مجددا تصویر بازسازی می شه اما اگه بخوام متن را در Picturebox بنویسم چی؟ با هر بار باز و بسته شدن فرم تصویر پاک می شه چطوری باید متن در Picturebox بازسازی بشه؟ چون Picturebox متدی مثل Paint نداره.
Gra = pictureBox1.CreateGraphics();
Gra.DrawString("ali",this.Font, Brushes.Aqua ,10,10);
ممنون می شم راهنمایی کنید.

danialafshari
دوشنبه 04 شهریور 1398, 22:20 عصر
متن ورودی باید ذخیره بشه و میتونید از Settings.Settings استفاده کنید که توی سایت در موردش مطلب زیاد هست در Picturebox رویداد Paint موجود هست
https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.control.paint?view=netframewo rk-4.8

ali2914
سه شنبه 05 شهریور 1398, 10:46 صبح
ممنون. مفید بود

ali2914
سه شنبه 05 شهریور 1398, 12:04 عصر
ممنون . حالا یه سوال دیگه . اگه نخوام در رویداد Paint دستورات را بنویسم چی؟ مثلا بخوام یه دکمه بزارم و با زدن دگمه روی PictureBox نوشته بنویسه چی ؟ من از این استفاده می کنم:
Graphics Gra;
private void button1_Click(object sender, EventArgs e)
{

Gra = pictureBox1.CreateGraphics();
Gra.DrawString("ali",this.Font, Brushes.Aqua ,10,10);
Gra.Dispose();
}
اما با باز و بسته شدن فرم نوشته پاک می شه . چطوری دوباره نوشته بشه بدون اینکه از رویداد Paint استفاده کنم؟ یادمه یه زمانی VB6 یه خصوصیت AutoRedraw داشت که اتوماتیک چیزایی که پاک شده بود را دوباره می کشید.

danialafshari
سه شنبه 05 شهریور 1398, 15:12 عصر
عرض کردم که باید ali رو در Settings.Settings ذخیره کنید

ali2914
سه شنبه 05 شهریور 1398, 18:59 عصر
ممنون . حالا متوجه شدم