سلام دوستان.
من میخام با استفاده از مختصات موس یه دایره روی فرم رسم کنم. ولی نمیدونم تو Form1_Paint چطوری از مختصات موس استفاده کنم.
مثلا میخام هر جایی که کلیک میکنم یه دایره با شعاع 50 پیکسل رسم بشه.
فقط توی Form1_MouseClick نباشه, چون وقتی فرم رو minimize میکنم و بعد دوباره maximize میکنم, اشکال رسم شده روی فرم پاک میشه.
لطفا کدش رو برام بفرستید.
با تشکر
سلام دوست عزیز
کد زیر برای بدست آوردن مختصات ماوس نسبت به گوشه بالا سمت چپ فرم هستش (مختصات 0 , 0 در فرم ، همان گوشه بالا سمت چپ هستش)
string mouseX = this.PointToClient(Cursor.Position).X.ToString();
string mouseY = this.PointToClient(Cursor.Position).Y.ToString();
با سلام.
تشکر از راهنماییتون.
دوستان من این کد رو مینویسم, ولی فقط یک دایره رسم میشه و هر چی کلیک میکنم دیگه دایره رسم نمیشه:
private void Form1_Paint(object sender, PaintEventArgs e)
{
string mouseX = this.PointToClient(Cursor.Position).X.ToString();
string mouseY = this.PointToClient(Cursor.Position).Y.ToString();
Graphics g1 = this.CreateGraphics();
g1.FillEllipse(new SolidBrush(Color.Red), Convert.ToInt32(mouseX), Convert.ToInt32(mouseY), 50, 50);
}
در صورتی که من میخام هر بار که کلیک میکنم یه دایره جدید روی فرم ایجاد بشه.
لطفا بگین تو کدوم رویداد فرم, چی بنویسم.
آیا میشه رویداد Form1_MouseClick رو توی رویداد Form1_Paint فراخوانی کنم؟
خب معلومه دوست من
در رویداد Form1.Paint
ولی غیر از اینکه در رویداد Form1.Paint می زنید ، باید در رویداد ماوس کلیک هم این کد رو بنویسید :
Form1_Paint(null, null);
فایلی که زمیمه این پست هست رو من براتون آماده کردم ببینید
سلام.
برنامه درست شد.
ممنون
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)