我正在使用WinForms。在我的WinForms应用程序中,我有一个contextMenuStrip 如果右键单击图片框,contextMenuStrip将显示一个您可以单击的项目列表。如何将“sizeMEToolStripMenuItem_Click”方法调用到另一种方法中。
示例:
private void sizeMEToolStripMenuItem_Click(object sender, EventArgs e)
{
if(sizeMEToolStripMenuItem.isclicked) //.isClicked is somthing i made up
{
e.Graphics.DrawImage(pictureBox1.Image, movingPoint); <- This draws and shows image
}
else
{
//e.Graphics.DrawImage(pictureBox1.Image, movingPoint); <- Hide this image
}
}
private void pictureBox1_Paint_1(object sender, PaintEventArgs e)
{
//e.Graphics.DrawImage(pictureBox1.Image, movingPoint);
}
答案 0 :(得分:1)
您可以简单地点击该项目的点击事件,并将您的代码放入Click事件处理程序。
打开设计器,选择上下文菜单,选择sizeMEToolStripMenuItem
并双击它。这样,当您单击sizeMEToolStripMenuItem
时,此方法就会运行。
您还可以将CheckOnClick
的{{1}}属性设置为true,并检查sizeMEToolStripMenuItem
属性的值。
Checked
要强制绘制事件触发器,请在单击事件中调用此方法:
private void sizeMEToolStripMenuItem_Click(object sender, EventArgs e)
{
if( sizeMEToolStripMenuItem.Checked )
{
//Do what you need, for example:
//MessageBox.Show("checked");
//To force paint event trigger you can uncomment next line:
//pictureBox1.Invalidate();
}
}
在绘画事件中,如果您需要检查是否已点击该项目,请检查pictureBox1.Invalidate();
的值:
Checked
您还可以在代码中设置private void pictureBox1_Paint_1(object sender, PaintEventArgs e)
{
if( sizeMEToolStripMenuItem.Checked )
{
//Do somethings
}
}
属性值。