儿童学习中心 - 3 至 5 岁学龄前儿童
一个帮助您的孩子准备学前教育的学习工具。
引言
此应用程序使用System.Speech
和System.Speech.Synthesize
命名空间。这些命名空间没有什么特别之处,因为它们已在 CodeProject 和其他一些网站的几个应用程序中使用过。可以使用System.Speech
的应用程序数量难以想象。这个想法来自于 CodeProject 上的一些应用程序。我运行其中一个应用程序,我的孙子孙女们对电脑说话感到惊讶。所以我将他们的名字添加到程序中并运行它。他们听到自己的名字后很惊讶。他们的注意力持续时间像这样 >.< 一样短。现在不会了。
此应用程序是一个 (CLC) 儿童学习中心,没有什么比孩子或孙辈的教育更宝贵了。此应用程序的目标用户是 3 至 5 岁的学龄前儿童。有些孩子可能在 2 岁就开始阅读,而有些孩子可能在 6 岁才开始。如果您的孩子有点厌倦,请停止学习过程几周,然后再次尝试。记住,孩子们学习的速度各有不同。
应用程序的要求是:儿童、Adobe 的 PDF 阅读器、PowerPoint 查看器,两者都安装到其默认位置,访问www.brillkids.com,免费获取所有 PDF 和 PowerPoint 演示文稿活动表和视觉学习工具。此应用程序在 Vista 家庭基础版带 SP2、.NET 3.5、Visual Studio 2008 Pro 带 SP1、1024X768 和我的孙子孙女身上进行了测试。
有很多儿童学习应用程序,但这个是免费的。它有效,而且我孙子孙女的注意力持续时间增加了 10 倍。他们通过做、看和听他们刚刚做过的事情与电脑互动。重复相同的步骤 3 次可以帮助孩子记住。
将此应用程序组合在一起对我来说是一个学习过程。我必须考虑我小时候想看到什么,不同的颜色、动物图片、字母、数字、漂亮的水果,以及电脑说话。我绝不是设计师或老师,但我相信如果某些东西有效,就不要修复它。起初我不相信,但这实际上有效。
设计

引言
首先是亲子互动模式。我添加了一个TextBox
来保存孩子的姓名。然后,我添加了一个GroupBox
来保存五个CheckBoxes
和几个Buttons
来显示不同的活动。然后,我添加了带有字母按钮、数字按钮、一些 pictureBoxes 和标签的活动GroupBoxes
。将所有这些组合在一起就开始了学习过程。
问题和代码用法
当我单击一个复选框并选中它,然后单击另一个复选框,选中它并取消选中上一个复选框时,我遇到一个问题,同时显示当前复选框的正确 groupbox。困惑???写完那句冗长的句子后,我也是这样想的,但现在对我来说非常有意义了。事实证明,这相当简单,没有任何溢出异常被抛出。然后,我向 Numbers GroupBox 添加了另外两个复选框,使用相同的方法,我得到了溢出异常。经过几次反复试验后,我想出了这两个例子
Private Sub chkPlus_CheckedChanged(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles chkPlus.CheckedChanged
If chkPlus.Checked Then
lblSign.Text = "+"
chkMinus.Checked = False
Else
lblSign.Text = "-"
chkMinus.Checked = True
End If
End Sub
Private Sub chkMinus_CheckedChanged(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles chkMinus.CheckedChanged
If chkMinus.Checked Then
lblSign.Text = "-"
chkPlus.Checked = False
Else
lblSign.Text = "+"
chkPlus.Checked = True
End If
End Sub
单击一个复选框会在两个复选框之间切换。
我的下一个问题是简单的加法 (1 + 1 = 2)。我没有编程那么长时间,当我键入 1 在第一个文本框中,1 在下一个文本框中,然后将它们加在一起时,我得到了“无法将字符串转换为整数”。我只是忘记将文本数字转换为整数。在所有这些大惊小怪之后,我想出了这个
Private Sub btnPlus_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles btnPlus.Click
ansPlus = (CInt(txtNum1.Text) + CInt(txtNum2.Text))
End Sub
Private Sub btnMinus_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles btnMinus.Click
ansMinus = (CInt(txtNum1.Text) - CInt(txtNum2.Text))
End Sub
Private Sub btnEnter_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles btnEnter.Click
If chkPlus.Checked Then
If CInt(txtAnswer.Text) = ansPlus Then
strSay = CInt(txtNum1.Text) & " plus " & CInt(txtNum2.Text) & _
" equals " & CInt(txtAnswer.Text)
InitializeSpeaker()
speaker.SpeakAsync(strSay)
MessageBox.Show("Correct :) " & txtName.Text)
Else
MessageBox.Show("Try Again :( " & txtName.Text)
End If
Else
If CInt(txtAnswer.Text) = ansMinus Then
strSay = CInt(txtNum1.Text) & " minus " & CInt(txtNum2.Text) & _
" equals " & CInt(txtAnswer.Text)
InitializeSpeaker()
speaker.SpeakAsync(strSay)
MessageBox.Show("Correct :) " & txtName.Text)
Else
MessageBox.Show("Try Again :( " & txtName.Text)
End If
End If
End Sub
应用拼写程序相当简单。我创建了“_wordlist.txt_”文件来保存我所有 2 个和 3 个字母的单词,然后我添加了一个ListBox
并将其设为不可见,因为它不用于任何类型的选择。我添加了另外两个按钮,btnNext
、btnPrevious
来浏览Listbox
中的单词列表。这是我想出的相当有效的方法
Private Sub LoadListWords()
Try
Dim sr As StreamReader = New StreamReader(wordlistPath)
'sr.ReadBlock(
Do While sr.Peek() >= 0
strWord = sr.ReadLine
Me.lstWords.Items.Add(strWord)
Loop
sr.Close()
sr = Nothing
lstWords.SelectedIndex = 0
wordIndex = 0
Catch ex As Exception
MessageBox.Show("Error : " & ex.Message)
End Try
End Sub
Private Sub btnPrevious_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnPrevious.Click
If wordIndex <= 0 Then Exit Sub
lstWords.SetSelected(wordIndex, False)
wordIndex -= 1
lstWords.SetSelected(wordIndex, True)
lblSpell.Text = lstWords.SelectedItem.ToString()
End Sub
Private Sub btnNext_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnNext.Click
If wordIndex >= lstWords.Items.Count - 1 Then Exit Sub
lstWords.SetSelected(wordIndex, False)
wordIndex += 1
lstWords.SetSelected(wordIndex, True)
lblSpell.Text = lstWords.SelectedItem.ToString()
End Sub
Private Sub btnSPClear_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnSPClear.Click
strSay = ""
txtSpell.Text = ""
End Sub
Private Sub btnSPSay_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnSPSay.Click
InitializeSpeaker()
speaker.SpeakAsync(strSay)
strGood = strCorrect & txtName.Text
If strSay = txtSpell.Text Then
speaker.SpeakAsync(strGood)
Else
' Do Nothing
End If
End Sub
背景
在我将所有内容组合在一起并使其正常工作后,就开始了测试。我从我 4 岁的大孙女开始,她已经习惯了自己的方式。令我惊讶的是,她很快就接受了它。现在,当她来我家时,这是她最想做的事情。她已经知道如何唱字母歌,所以我开始教她字母表上的字母,使用程序的“A 代表……”部分。接下来是书写字母。您可以从www.brillkids.com下载所有儿童活动。它们是免费的,非常值得。
历史
- 上传日期:2009 年 7 月 9 日 版本:1.0.0.0