繁体   English   中英

用户定义的绘画不可见

[英]User defined painting not visible

我有一个Windows窗体应用程序,其中包含一个GroupBox和一个PictureBox作为背景图像,以及一些来自PowerPack的可单击OvalShapes。

现在我需要一些用于OvalShapes的标签,因此我将EventHandler放在GroupBox上,每次重绘时,都应绘制以下内容

this.groupBoxTest.Paint += new System.Windows.Forms.PaintEventHandler(this.groupBoxVirtualView_Paint);

private void groupBoxVirtualView_Paint(object sender, PaintEventArgs e)
{
    Graphics g = groupBoxVirtualView.CreateGraphics();//e.Graphics;
    g.DrawString("01", new Font("Arial", 12), new SolidBrush(Color.Black), 240, 115);
}

但是字符串01永远不会被绘制; 我所看到的只是位于同一位置的椭圆形-出于测试目的禁用它们也不起作用。

我的琴弦怎么了?

还有其他方式标记我的PoweredOval吗?

你必须用

groupBoxVirtualView.Invalidate();

重绘groupBox!

paint事件应使用来自发送者的图形对象:

private void groupBoxVirtualView_Paint(object sender, PaintEventArgs e)
{
  Graphics g = e.Graphics;
  g.DrawString("01", new Font("Arial", 12), new SolidBrush(Color.Black), 240, 115);
}

另外,如果GroupBox内有一个PictureBox,则该控件将不会显示要通过该控件的任何GroupBox绘画。 它会隐藏它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM