在当前上下文中不存在控制

时间:2013-10-10 20:13:13

标签: c#

我在c#类中,我不得不编写这段代码,但我不太了解c#,我的代码遇到了这个问题。我在代码中有6个错误,他们都是同样的错误,说

“此当前上下文中不存在名称”textbox1MESSAGE“

如果有人能帮助我那会很棒。 也许我可能会学到一些东西,如果有人帮助我老师不教课。他们递给我一本书,说读它并理解它,做课堂工作并参加考试。你将通过课程。我从未有过任何计算机语言的经验。

这是我的代码。  这有什么问题? 我做错了什么?

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

 namespace WindowsFormsApplication2
{
 public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void textBox1_TextChanged(object sender, EventArgs e)
    {

    }

    private void Do_Click(object sender, EventArgs e)
    {

        int lcv = 1;
        string szmessage = "";

        szmessage += "the Do Loop - ";
        do
        {
            szmessage += lcv.ToString();
            textBox1MESSAGE.Text = szmessage;
            textBox1MESSAGE.Refresh();
            for (decimal i = 0m; i < 1000000m; i++) ;
            lcv++;
        }
        while (lcv < 11);


    }

    private void While_Click(object sender, EventArgs e)
    {
        int lcv = 10;
        string szmessage = "";

        szmessage += "The While Loop - ";

        while (lcv > 0)
        {
            szmessage += lcv.ToString();
            textBox1MESSAGE.Text = szmessage;
            textBox1MESSAGE.Refresh();
            for (decimal i = 0m; i < 1000000; i++) ;
            lcv--;
        }
    }

    private void FOR_Click(object sender, EventArgs e)
    {
        int lcv = 1;
        string szMessage = "";

        szMessage += "The For Loop - ";

        for (lcv = 1; lcv < 20; lcv += 2)
        {
            szMessage += lcv.ToString();
            textBox1MESSAGE.Text = szMessage;
            textBox1MESSAGE.Refresh();
            for (Decimal i = 0m; i < 1000000m; i++) ;


             }
          }
        }
   }

2 个答案:

答案 0 :(得分:4)

这意味着表单上文本框的名称不是textBox1MESSAGE。在设计器中,您可以单击文本框,然后查看属性窗口以查找其ID。

此外,您无需在文本框中调用Refresh。设置Text的值时,它会自动显示更改。

答案 1 :(得分:1)

有六次代码行textBox1MESSAGE显然不存在。所以你需要获得真实姓名,有两种简单的方法可以做到这一点。

  1. 转到Designer视图,您可以在其中看到所布置的表单和控件,单击您要使用的文本框并查看其属性(可以按F4)。这就是你想要的名字。

  2. 或者,您可以在代码中键入this.并滚动查看当前表单可用的控件(this)。你不需要textboxMessage前面的this.,它是可选的,但这可以帮助你找到你想要的东西。

  3. 找到文本框的正确名称后,您可以使用正确的名称替换textBox1MESSAGE六次,并且不会再出现错误。

    如果您还没有文本框,可以转到Designer,然后从工具箱中拖放文本框,并将其命名为textBox1MESSAGE,或任何您喜欢的文本框。