[英]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.