Hirdetés

Keresés

Hirdetés

CyberSecurity Connect - blended learning, valódi labor kísérletezésre. Kiberbiztonsági képzés profiktól!
(használd a CYBSEC25PH kuponkódot további 20 ezer ft kedvezményért!)

Új hozzászólás Aktív témák

  • ArchElf

    addikt

    válasz Balika2 #917 üzenetére

    Gondolom a form+menü+picturebox összekattogtatásával nincs gond.
    form: Form1
    picturebox: pictureBox1
    menü:
    -mShape
    --mCircle
    --mBox
    -mColor
    --mRed (Checked = true)
    --mOrange
    --mGreen
    Rajozás a System.Drawing csoport alatt levő függvényekkel lehet:
    Kell hozzá először egy Graphics objektum, erre lehet rajzolni a saját metódusaival:
    (Paint esemény alá a legegyszerűbb)

    private void pictureBox1_Paint(object sender, PaintEventArgs e)
    {
    //Graphics objektum "felkapása"
    Graphics g = e.Graphics;
    //felület törlése (gomb színnel)
    g.Clear(SystemColors.ButtonFace);

    //szín kiválasztása a bejelölt nyomógomb alapján
    Color c = SystemColors.ButtonFace;
    if (mRed.Checked)
    c = Color.Red;
    else if (mOrange.Checked)
    c = Color.Orange;
    else if (mGreen.Checked)
    c = Color.Green;

    //forma rajzolása a bejelölt nyomógomb alapján
    if (mCircle.Checked)
    {
    g.FillEllipse(new SolidBrush(c), new Rectangle(10, 10, 100, 100));
    }
    else if (mBox.Checked)
    {
    g.FillRectangle(new SolidBrush(c), new Rectangle(10, 10, 100, 100));
    }
    }

    //nyomógombok bejelölésének eseményei
    private void mCircle_Click(object sender, EventArgs e)
    {
    mCircle.Checked = true;
    mBox.Checked = false;
    pictureBox1.Refresh();
    }

    private void mBox_Click(object sender, EventArgs e)
    {
    mBox.Checked = true;
    mCircle.Checked = false;
    pictureBox1.Refresh();
    }

    private void mOrange_Click(object sender, EventArgs e)
    {
    mOrange.Checked = true;
    mRed.Checked = false;
    mGreen.Checked = false;
    pictureBox1.Refresh();
    }

    private void mGreen_Click(object sender, EventArgs e)
    {
    mGreen.Checked = true;
    mOrange.Checked = false;
    mRed.Checked = false;
    pictureBox1.Refresh();
    }

    private void mRed_Click(object sender, EventArgs e)
    {
    mRed.Checked = true;
    mGreen.Checked = false;
    mOrange.Checked = false;
    pictureBox1.Refresh();
    }

    AE

  • DelArco

    senior tag

    válasz Balika2 #917 üzenetére

    Hali!

    most épp nincs elöttem visual studio igy nem tudom megcsinálni de ez talán segíthet:
    [link]
    itt van egy olyan fejezet hogy grafikai alapok ott megtalálod milyen metodusokkal lehet kört illetve téglalapot rajzolni.

    de ha megnézed az előre elkészített vezérlőket ha nem csal az emlékezetem létezik rectangle meg oval vezérlő amit simán ki lehet húzni a formra aztán már készen is van.
    ez mondjuk nem 100% de ha ottvan akkor kihúzod őket formra és mindig azt teszed láthatóvá amelyikre szükség van illetve a status barban is azt mutatod.
    ez ugyan nem túl szép megoldás de legalább egyszerű.
    csak nem vagyok benne biztos most hogy ottvan ez az oval meg rectangle objektum. :F

Új hozzászólás Aktív témák