我正在设计一个APP,用户将输入一个文字(“我喜欢被愚弄”)。然后,该文本将显示在类似电子LED显示板的窗口中。它显然会移动。为此,我必须做
我更喜欢使用winform
请你的任何想法对我都很好。
谢谢, A.拉希姆
答案 0 :(得分:3)
接近这个的方法是为字母表的每个字符设置一个6 x 5数组,如:
int[][] letterA = { { 0, 0, 1, 1, 0, 0 },
{ 0, 1, 0, 0, 1, 0 },
{ 1, 1, 0, 0, 1, 1 },
{ 1, 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1, 1 },
{ 1, 1, 0, 0, 1, 1 },
{ 1, 1, 0, 0, 1, 1 }};
然后,您将合并构建输入单词所需的字母。
所以每条线都要变长,需要打开LED。
这就是应用程序的业务逻辑。
您现在想要创建一个有限的LED灯组,所以说60 x 10并从最右边开始,如果当前数组值为1则显示黄色圆圈,否则为黑色。
希望有所帮助。
编辑:以编程方式在表单上渲染圆圈。
您可以创建一个计时器而不是删除面板中的所有控件,然后您可以执行以下操作:
//word is the merged array of letters like the one above
foreach(int[] line in word)
{
//currentShiftIndex is the shift amount to render control from left to right
int currentShiftIndex = 1;
foreach(int i in line)
{
//set up a control called 'light' for example [im not including that]
light.Left = currentShiftIndex * 10;
light.Background = i == 1 ? "Yellow" : "Black"
}
}
纯粹是渲染一行的一个例子。忽略任何错误的语法。我纯粹只是举一个关于这个过程的例子。
我希望有所帮助。