日期:2014-05-18  浏览次数:20887 次

C# 右键菜单遮挡背景,背景未能及时刷新
我给windows应用程序的一个pidturebox控件添加了一个右键菜单,点击右键菜单项后挡住了部分绘图区域,那些被菜单挡住的区域在菜单消失后显示是白色的。虽然我用timer在一段时间后重绘图案解决了这个问题,但我仍然想知道,菜单消失后会触发哪个事件?

------解决方案--------------------
C# code
        private void Form1_Load(object sender, EventArgs e)
        {
            menu.Items.Add("item1");
            menu.Items.Add("item2");
            menu.Items.Add("item3");
        }
        Bitmap bmp = new Bitmap(@"C:\Users\SaeWind\Desktop\123\1.png");
        private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g=e.Graphics;
            g.DrawImage(bmp,pictureBox1.Bounds);
        }
        ContextMenuStrip menu = new ContextMenuStrip();
        private void pictureBox1_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                Point t =PointToScreen(e.Location);
                menu.Show(t.X,t.Y);
            }
        }

        private void pictureBox1_SizeChanged(object sender, EventArgs e)
        {
            ((Control)sender).Refresh();
        }