0 امتیاز

سلام دوستان

من میخوام یک یا چند دایره رو روی فرم  پیدا کنم به طوریکه اون ها رو با یک خط به هم وصل کنم و به ازای هر (حالا یک واحدی مثلا هر 10point فاصله اون ها رو هم بدست بیارم)  یه قطعه کدی دارم که با بیت مت هستش چه طور میتونم این بیتمپ رو روی فرم پیاده کنم ؟ و درون این دایره ها حروف انگلیسی بزارم  مثلا درون هر یک دایره یک حروف بزارم!

 

نتیجه گیری : چند تا دایره بزارم در فرم با استفاده از حروف a,bc اونهارو تشخیص بدم و اونهارو به صورت درخت متصل کنم و فاصله اون ها رو بدست بیارم.

این هم اون کدی که گفتم
            Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
            Graphics g = Graphics.FromImage(bmp);
            Pen redPen = new Pen(Color.Red);
            int x = 200;
            int y = 100;
            int width = 80;
            int height = 80;
            g.DrawEllipse(redPen, x, y, width, height);
            
            pictureBox1.Image = bmp;

 

بسته شده

1 پاسخ

0 امتیاز
 
بهترین پاسخ

سلام

چیزی که من متوجه شدم اینه که شما میخواین چند تا دایره داخل فرم بذارین و داخل هر دایره مثلا یه حرف انگلیسی باشه مثل A و B و ... ببینید این کد به دردتون میخوره

using System.Drawing;
using System.Windows.Forms;

namespace WindowsFormsApp16
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            this.label1 = new Label();
            this.label1.AutoSize = true;
            this.label1.Location = new System.Drawing.Point(145, 145);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(14, 13);
            this.label1.TabIndex = 0;
            this.label1.Text = "A";

        }

        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            e.Graphics.DrawEllipse(Pens.Green, 100, 100, 100, 100);
        }
    }
}

 

سلام، کاملا کار می کنن

شما حتما فقط کدها رو کپی کردین. یادتون باشه که اول باید روی رویدادهای paint و mousedown کلیک کنید تا کنترل کننده رویداد براشون تولید بشه و بعد کدها رو کپی کنید
توسط (138 امتیاز) 3

سلام ببخشید تو یه مسئله ای گیر کردم.

من میخووام مکان های دایره ها راندوم و به تعداد n باشه که n  رو از کار بر بگیره و مگان های دایره رو این طوری پیاده کردم.

                for (int i = 0; i < nodenumber; i++)
                {
                    Random r = new Random();
                    Random r2 = new Random();

                    int x = r.Next(50, 600);
                    int y = r2.Next(50, 450);

                    e.Graphics.DrawEllipse(Pens.RoyalBlue, x, y, 75, 75);
{

نکته ای که هست این رویداد فقط یک دور کد هارو میخونه و به حلقه ها توجه ای نمیکنه (یعنی چی یعنی اینکه اگه حلقه ما دو بار باید اجرا بشه اون میاد دایره اول رو رسم میکنه و برای بار دوم دایره اول پاک و دایره دوم رسم میشه) اگه بشه کاری کرد که اون متدی که برای رسم دایره هست رو توی یه ارایه ای از نوع اون متد بریزم فکر کنم اوکی میشه ولی اون متد رو نمیشه توی متغییری قرار داد (یا حد اقل من نتونستم).

نظرتون چیه؟ مرسی

و دلیلی که خط ها میشه رسم کرد اینکه شما اون ها رو توی ارایه قرار دادین و هر دفعه اون متد میاد و خط های شما رو رسم میکنه.

توسط (594 امتیاز) 1 6 33
سوال جدید

2,342 سوال

2,871 پاسخ

3,725 دیدگاه

3,963 کاربر

دسته بندی ها

...