Új hozzászólás Aktív témák
-
ArchElf
addikt
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
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!