0

我用 DrawString 创建了一个滚动文本。它可以工作,但文本仍保留在表单元素下。我希望文本通过。编码:

    int x = 0;
    string texto = "prova prova";
    int tam = 15;

    private void timer_Tick_1(object sender, EventArgs e)
    {
                 Graphics gra = this.CreateGraphics();
        gra.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
        gra.DrawString(texto, new Font("Times New Roman", tam), new SolidBrush(Color.CornflowerBlue),x, 70);
        gra.Dispose();

            x += 6;

        if (x >= this.Width)
            x = texto.Length * tam * -1;
    }
4

1 回答 1

1

这是设计使然,Graphics 对象只能绘制到创建它的区域。

如果您希望文本出现在表单上所有其他元素的前面,您必须创建一个执行绘图的自定义控件。

将此控件的一个实例添加到 Form 并使用 BringToFront 方法将其放置在 Form 中包含的其他元素之上。

于 2013-10-17T10:20:39.740 回答