我用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;
}
答案 0 :(得分:1)
这是设计使然,Graphics对象只能绘制到为其创建的区域。
如果希望文本显示在窗体上所有其他元素的前面,则必须创建一个自定义控件来执行绘图。
将此控件的实例添加到Form中,并使用BringToFront方法将其放在表单中包含的元素之上。