2013-04-28 58 views
2

这是一个非常简单的问题,但是对于我来说,我似乎无法完成它的工作。我看了一轮,但一直没有能够得到任何类似的解决方案正常工作。VB.NET在控件上方绘制文本

基本上,我有一个简单的形式在两个面板,A & B,用乙嵌套A的内部

*注意,面板A具有背景图像,并且两个面板颜色的设定到transparen * T

我想提请面板b的内部字符串,它需要是可见的,所以它吸引上述面板A.

我试图重写板B的Paint方法,但那不起作用。如果使用下面的代码,文本绘制到屏幕上时,没有嵌套组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 

回答

1

没有什么错在panel绘图,但是你不能在绘画事件中调用Refresh - 这就像一个无限循环,并不会画任何东西。刷新激发绘画事件。

+0

只能停止闪烁,这很有用。但是,这并不影响我的主要问题。 – sl133 2013-04-28 00:41:04

+0

好的,我在这里没有解决问题。我可以在透明面板上绘制文字。在Winforms中实现如果多个面板重叠,则不具有真正的透明度。 – OneFineDay 2013-04-28 00:44:50

+0

我真的不知道如何解释它。我有两个面板,Panel B位于Panel A的顶部,panelB的paint方法的文本不可见 – sl133 2013-04-28 00:45:54