Visual studio 2010 c#对文本框进行寻址,以便从功能元素在表单上写入内容
我正试着了解OO和C,虽然我已经搜索过了,但我看不到答案,希望这里有人能帮忙 我有一个表单(public form_DaRT_BOM_Main())和一个文本框(textBox1)。这些文件位于MSVS2010生成的文件中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
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中那样工作,从“数据上操作的代码”的角度来制作可重用代码,而实际上我应该将其视为“需要这些操作的数据”。(我想我是对的。):)史提夫。