سوال : یک پروژه ایجاد کنید و سه تصویر بوسیله pictureBox طوری به فرم اضافه کنید که ابشاری روی هم قرار بگیرند . با کلیک روی هر تصویر باید منویی ظاهر شود که دارای دو گزینه باشد (آوردن به جلو و فرستادن به عقب).
برنامه بالا را با استفاده از کنترل menuStrip نیز انجام دهید.
توجه نمایید جهت فرستادن تصویر به جلو از متد BringToFront استفاده میکنیم
بعنوان مثال :
PictureBox1.BringToFront()
, جهت فرستادن تصویر به عقب از متد ُSendToBack استفاده میکنیم
بعنوان مثال :
کدهای برنامه
private void front1ToolStripMenuItem_Click(object sender, EventArgs e)
{
//www.fekre-bekr.ir
pictureBox1.BringToFront();
}
private void back1ToolStripMenuItem_Click(object sender, EventArgs e)
{
pictureBox1.SendToBack();
}
private void front2toolStripMenuItem1_Click(object sender, EventArgs e)
{
pictureBox2.BringToFront();
}
private void back2toolStripMenuItem2_Click(object sender, EventArgs e)
{
pictureBox2.SendToBack();
}
private void front3toolStripMenuItem3_Click(object sender, EventArgs e)
{
pictureBox3.BringToFront();
}
private void back3toolStripMenuItem4_Click(object sender, EventArgs e)
{
pictureBox3.SendToBack();
}
private void pic11ToolStripMenuItem_Click(object sender, EventArgs e)
{
if(pic11ToolStripMenuItem.Checked==true)
{
pic11ToolStripMenuItem.Checked = false;
pictureBox1.Visible = false;
}
else
{
pic11ToolStripMenuItem.Checked = true;
pictureBox1.Visible = true;
}
}
private void pic22ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (pic22ToolStripMenuItem.Checked == true)
{
pic22ToolStripMenuItem.Checked = false;
pictureBox2.Visible = false;
}
else
{
pic22ToolStripMenuItem.Checked = true;
pictureBox2.Visible = true;
}
}
private void pic33ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (pic33ToolStripMenuItem.Checked == true)
{
pic33ToolStripMenuItem.Checked = false;
pictureBox3.Visible = false;
}
else
{
pic33ToolStripMenuItem.Checked = true;
pictureBox3.Visible = true;
}
}
private void pic1ToolStripMenuItem_Click(object sender, EventArgs e)
{
pic1ToolStripMenuItem.Checked = true;
pic2ToolStripMenuItem.Checked = false;
pic3ToolStripMenuItem.Checked = false;
pictureBox1.BringToFront();
}
private void pic2ToolStripMenuItem_Click(object sender, EventArgs e)
{
pic1ToolStripMenuItem.Checked = false;
pic2ToolStripMenuItem.Checked = true;
pic3ToolStripMenuItem.Checked = false;
pictureBox2.BringToFront();
}
private void pic3ToolStripMenuItem_Click(object sender, EventArgs e)
{
pic1ToolStripMenuItem.Checked = false;
pic2ToolStripMenuItem.Checked = false;
pic3ToolStripMenuItem.Checked = true;
pictureBox3.BringToFront();
}
در این برنامه برای هر picturebox یک contextmenu در نظر گرفته شده است
تذکر : ابته راه حل بهتری نیز برای این برنامه وجود دارد که خارج از مباحث کتاب میباشد