Ú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

    [ Szerkesztve ]

    Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]

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