这是我遇到的一个非常简单的问题,但对于我的生活,我似乎无法让它工作。我已经看了一圈,但还没有能够得到任何类似的解决方案正常工作。
基本上,我在一个简单的表单上有两个面板,a &B,其中B嵌套在a中
*注意,面板A有一个背景图像,两个面板的颜色都设置为透明*t
我想在面板B中画一个字符串,它需要是可见的,所以它画在面板a的上方。
我已经尝试重写面板B的油漆方法,但这不起作用。当使用下面的代码时,当面板B没有嵌套在面板A内(例如面板A旁边)时,文本将绘制到屏幕上
Private Sub panelB_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles panelB.Paint
e.Graphics.DrawString("My Text", New Font("Arial", 60, FontStyle.Regular), Brushes.Orange, New Point(0, 0))
panelB.Refresh()
End Sub
在panel
上绘图没有错,但是你不能在paint事件中调用Refresh
-它就像一个无限循环,不会绘制任何东西。刷新触发绘制事件