Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 c#对文本框进行寻址,以便从功能元素在表单上写入内容_Visual Studio 2010_C# 4.0 - Fatal编程技术网

Visual studio 2010 c#对文本框进行寻址,以便从功能元素在表单上写入内容

Visual studio 2010 c#对文本框进行寻址,以便从功能元素在表单上写入内容,visual-studio-2010,c#-4.0,Visual Studio 2010,C# 4.0,我正试着了解OO和C,虽然我已经搜索过了,但我看不到答案,希望这里有人能帮忙 我有一个表单(public form_DaRT_BOM_Main())和一个文本框(textBox1)。这些文件位于MSVS2010生成的文件中 namespace DaRT_BOM { public partial class Form_DaRT_BOM_Main : Form { public Form_DaRT_BOM_Main() } } 我在Program.cs中有自己的函数,它位于 p

我正试着了解OO和C,虽然我已经搜索过了,但我看不到答案,希望这里有人能帮忙

我有一个表单(public form_DaRT_BOM_Main())和一个文本框(textBox1)。这些文件位于MSVS2010生成的文件中

namespace DaRT_BOM
{
  public partial class Form_DaRT_BOM_Main : Form
  {
    public Form_DaRT_BOM_Main()
  }
}
我在Program.cs中有自己的函数,它位于

public static class GeneralFunctions
{
}
我正在尝试将文本写入文本框,但看不出应该如何处理

目前我有:

public static String SplitFile(String FileToSplit)
  {
    String line;
    using (StreamReader reader = new StreamReader(FileToSplit))
    {
      line = reader.ReadLine();
      Form_DaRT_BOM_Main.textBox1 = line;
    }

    return null;
  }
在尝试将文本框用于输出之前,我使用MessageBox进行了测试,效果良好

我现在得到的是一个编译错误:

非静态字段、方法或属性需要对象引用

这表明我对文本框的寻址不正确

请原谅米老鼠元素,但我仍在努力理解。。。老狗和新把戏综合征

谢谢你的期待


Steve。

在某些事件中,例如在构造函数中,您需要引用表单或访问表单中的textbox1。例如:

//inside the form (in an event or constructor). this.textbox1.Text = GeneralFunctions.SplitFile(some_parameter_here); //表单内部(在事件或构造函数中)。 this.textbox1.Text=GeneralFunctions.SplitFile(此处的一些参数);
如果要从静态类访问表单,请将其设置为singleton或设置一些静态属性,这些属性将保存对实际表单的引用。

您似乎根本没有对文本框(名为
textbox1
)进行寻址。是的,很抱歉。有点像曲线球。如果我在那里插入textBox1,我得到:非静态字段、方法或属性'DaRT\u BOM.Form\u DaRT\u BOM\u Main.textBox1'Pavel需要对象引用,谢谢。我可能需要从多个位置访问此框(函数调用)。这将如何被引用?Steve.如果函数在表单中,则只需访问属性(例如
textbox1
。如果它们不在表单中,则可能需要保存对实例化表单的引用,例如
form1=new mycolform();form1.textbox1.Text=“Something”
谢谢。我想我需要重新阅读一些东西。这就是我对OO处理得不太好的地方。我理解OO的概念(对象、类、实例等),但实现让我困惑。谢谢你的帮助。:)Steve.Pavel,谢谢。重新阅读使我意识到,我没有解决问题(我确实有),而是我的代码结构是错误的。此表单上的文本框将只需要这些函数,因为它们是此表单数据的运算符。我已经将我的函数移到表单中,现在它运行良好。我试图像在C中那样工作,从“数据上操作的代码”的角度来制作可重用代码,而实际上我应该将其视为“需要这些操作的数据”。(我想我是对的。):)史提夫。