C# 如何在C中显示动画文本#
我有一个连接四冠军赛。是否有一种方式可以以动画方式显示文本?我的意思是,在每一轮之后,在屏幕上显示第1轮。。第1轮结束后,显示第2轮C# 如何在C中显示动画文本#,c#,forms,animation,text,C#,Forms,Animation,Text,我有一个连接四冠军赛。是否有一种方式可以以动画方式显示文本?我的意思是,在每一轮之后,在屏幕上显示第1轮。。第1轮结束后,显示第2轮 我的意思是,显示文本不是以标签的形式出现,而是像在线游戏一样,显示文本只是出现在屏幕上,几秒钟后消失。。不知道这是否可能 我不知道你所说的动画到底是什么意思,但一般来说,你可以创建一个计时器,以你希望的方式“动画化”你的文本,比如每隔20毫秒左右。因此,例如,如果您想简单地从右向左移动文本,您可以在计时器经过处理程序中设置myText.X+=5或类似的设置。您需要
我的意思是,显示文本不是以标签的形式出现,而是像在线游戏一样,显示文本只是出现在屏幕上,几秒钟后消失。。不知道这是否可能 我不知道你所说的动画到底是什么意思,但一般来说,你可以创建一个计时器,以你希望的方式“动画化”你的文本,比如每隔20毫秒左右。因此,例如,如果您想简单地从右向左移动文本,您可以在计时器经过处理程序中设置
myText.X+=5
或类似的设置。您需要在赢得游戏时通过获取表单图形对象在表单上手动绘制文本
Graphics g = this.CreateGraphics();
g.DrawString("Game Won!", DefaultFont, Brushes.Red, x,y);
其中,这是上下文中的形式,x,y是绘制文本的坐标
当然,正如其他人提到的,您必须执行一个计时器,该计时器将更改x、y或其他属性,例如每个动画帧的字体大小。您需要在一个单独的线程上执行此操作,并对结果进行双缓冲我的意思是显示文本,而不是以标签的形式,而是像在线游戏中那样,当它们显示文本时,文本只是出现在屏幕上,几秒钟后消失。。不知道这是否可能@学生程序员:弹出一个工具提示?或者使用计时器在几秒钟后设置
myLabel.Visible=false
。嗯,我可以在几秒钟后显示标签并使其可见。是的,但是有没有一种方法可以使标签位于表单中其他每个组件的前面?请问什么是工具提示?我是新手,以前从未使用过它!谢谢你的帮助!是的,这是个好主意,非常感谢!但是我可以在一个窗体上的几个组件上画画吗?如果只执行Graphics g=this.CreateGraphics(),我会为所有表单创建图形,是吗?因此,绘制的项目将位于所有组件的顶部,然后我会在时间结束后清除它?我不确定winforms是否允许您真正使用项目的zindex,您可能必须在最顶部的项目上绘制。这真的不是一个合适的平台。从尝试绘制字符串开始,不要担心动画。当游戏胜出时,你总是可以在窗体上添加一个新的面板控件,然后在上面绘制。现在我想起来了,你可以创建一个自定义控件,覆盖OnPaint方法,在其上创建动画,居中且成比例,然后将其添加到窗体的顶部。是的,我想我可以做到。。如果顶部的面板可以是透明的,以便字符串后面的其他组件仍然可见!我记得需要做一些类似的事情,我很确定你不能做一个透明的面板。