.NET TranslateTransform + InvokePaint on按钮不是TranslateTransfrom按钮的文本

时间:2013-06-08 19:45:41

标签: c# .net controls transparency system.drawing

我正在尝试创建一个可移动且可调整大小的控件,以实现我需要透明度(正确处理调整大小句柄的绘制)。为了实现透明度,我重写了我的控件的OnPaintBackground,以在我的可调整大小的控件下绘制每个控件。

我可以正确地将每个控件放在我可调整大小的控件下,准确地绘制它们所需的位置,但是它们会错过自己的文本。为什么?因为TranslateTransform图形方法似乎不适用于控件的文本,而只适用于控件的背景和前景(排除文本)

这是我使用的代码:

protected override void OnPaintBackground( PaintEventArgs pevent )
{
    ...
    pevent.Graphics.TranslateTransform( translateX, translateY );
    PaintEventArgs pe = new PaintEventArgs( pevent.Graphics, rect1 );
    InvokePaint( c, pe );
    ...
}

我也试图避免使用TranslateTransform方法并使用

    pevent.Graphics.RenderingOrigin

但我没有得到任何结果。

如何在控件的文本上应用TranslateTransform?

谢谢。

0 个答案:

没有答案