c#在表单元素上方滚动文本

时间:2013-10-17 10:06:33

标签: c# winforms scroll overlay

我用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;
    }

1 个答案:

答案 0 :(得分:1)

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

如果希望文本显示在窗体上所有其他元素的前面,则必须创建一个自定义控件来执行绘图。

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