View Full Version : ایجاد رویداد برای گرافیک های ایجاد شده
  
mousa1992
یک شنبه 05 شهریور 1391, 18:54 عصر
سلام دوستان 
ممنون از حضور و توجهتون
اشکال گرافیکی رو در فرم رسم میکنیم (مثلا یه دایره و یا مستطیل) ، چطور میتونیم رویداد هایی مثل کلیک کردن و یا Mouse Enter و .. . بهش نسبت بدیم ؟؟
alitavakoli
یک شنبه 05 شهریور 1391, 19:46 عصر
سلام 
شما میتونید رویداد کلیک یا mousehover  و ... فرم رو به مستطیل یا ... assign  کنید
نمونه کد:
 public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            Click += Form1_Click;
        }
        Rectangle rect;
        private void Form1_Click(object sender, EventArgs e)
        {
            Point cursorPos = this.PointToClient(Cursor.Position);
            if (rect.Contains(cursorPos))
            {
                MessageBox.Show("in-ask programming question here:http://www.naras.ir");
            }
        }
        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Pen blackPen = new Pen(Color.Black, 3);
            rect = new Rectangle(0, 0, 200, 100);
            e.Graphics.DrawEllipse(blackPen, rect);
        }
    }
navid_8x
یک شنبه 05 شهریور 1391, 19:50 عصر
این کشیدن موقته و اگه فرم رو مینمایز و ماکسیمایز کنین پاک میشه
alitavakoli
یک شنبه 05 شهریور 1391, 19:53 عصر
این کشیدن موقته و اگه فرم رو مینمایز و ماکسیمایز کنین پاک میشه
تست کردم پاک نمیشه
mousa1992
یک شنبه 05 شهریور 1391, 22:22 عصر
چرا توی Form_load نمیشه اشکال گرافیکی رسم کرد ؟ 
این کشیدن موقته و اگه فرم رو مینمایز و ماکسیمایز کنین پاک میشه                         توجه نکرده بودم ، اره  پاک میشه - چه راه حلی وجود داره ؟
مستطیلی دارم که transparent هست ، کلیک رو تشخیص نمیده ! مستطیل های توپر رسم کرد عمل میکرد ممنون 
ممنون از پاسخ همه دوستان
مهرداد صفا
دوشنبه 06 شهریور 1391, 00:08 صبح
سلام 
در هنگام Resize یا جا به جا شدن فرم دوباره رسم میشود و به همین دلیل اشکال نیز باید دوباره رسم شوند در هنگام Load شدن فرم هم اگر شکلی رسم شود با نمایش و یا تغییر اندازه فرم که بعد از رویداد load اتفاق می افتد فرم دوباره رسم شده و اجسام گرافیکی محو میشوند که با کشیدن اجسام در رویداد paint این مشکل حل میشود.
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.