PDA

View Full Version : خطا در رویداد paint event کنترل panel در سی شارپ



arastoahmadi
سه شنبه 15 مهر 1399, 16:22 عصر
با سلام


152265


دوستان من با رویداد paint مطابق شکل بالا یه کادر به panel روی فرمم دادم منتها وقتی که فرم رو جابه جا میکنم شکل فرم مطابق شکل زیر به هم میریزه

152266


ممنون میشم دوستان راهنمایی بفرمایید که برای رفع این مشکل باید چکار کنم

the king
سه شنبه 15 مهر 1399, 18:05 عصر
با سلام


152265


دوستان من با رویداد paint مطابق شکل بالا یه کادر به panel روی فرمم دادم منتها وقتی که فرم رو جابه جا میکنم شکل فرم مطابق شکل زیر به هم میریزه

152266


ممنون میشم دوستان راهنمایی بفرمایید که برای رفع این مشکل باید چکار کنم

بدون ارائه کدی که در Paint نوشتید راهنمایی کار دشواری میشه.
ابتدا DoubleBuffered رو در Panel تون فعال کنید تا موقع رسم مجدد پر پر نزنه. سپس موقع جابجایی و تغییر ابعاد فرم مجدد رسمش کنید :

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
typeof(Control).GetProperty ("DoubleBuffered", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance ).SetValue(panel1, true, null);
}

protected override void OnMove(EventArgs e)
{
base.OnMove(e);
panel1.Invalidate();
}

protected override void OnResize(EventArgs e)
{
base.OnResize(e);
panel1.Invalidate();
}
}