65.9K
CodeProject 正在变化。 阅读更多。
Home

儿童学习中心 - 3 至 5 岁学龄前儿童

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.72/5 (10投票s)

2009年7月8日

CPOL

4分钟阅读

viewsIcon

35510

downloadIcon

1320

一个帮助您的孩子准备学前教育的学习工具。

引言

此应用程序使用System.SpeechSystem.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 次可以帮助孩子记住。

将此应用程序组合在一起对我来说是一个学习过程。我必须考虑我小时候想看到什么,不同的颜色、动物图片、字母、数字、漂亮的水果,以及电脑说话。我绝不是设计师或老师,但我相信如果某些东西有效,就不要修复它。起初我不相信,但这实际上有效。

设计

CLC

引言

首先是亲子互动模式。我添加了一个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

CLC2.jpg

单击一个复选框会在两个复选框之间切换。

我的下一个问题是简单的加法 (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并将其设为不可见,因为它不用于任何类型的选择。我添加了另外两个按钮,btnNextbtnPrevious来浏览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

CLC3.jpg

背景

在我将所有内容组合在一起并使其正常工作后,就开始了测试。我从我 4 岁的大孙女开始,她已经习惯了自己的方式。令我惊讶的是,她很快就接受了它。现在,当她来我家时,这是她最想做的事情。她已经知道如何唱字母歌,所以我开始教她字母表上的字母,使用程序的“A 代表……”部分。接下来是书写字母。您可以从www.brillkids.com下载所有儿童活动。它们是免费的,非常值得。

历史

  • 上传日期:2009 年 7 月 9 日 版本:1.0.0.0
© . All rights reserved.