的方法我有一个主窗体(称为Form1
),其中有一个标签(称为lbl1
)。调用并传递给类
除此之外我也有看起来像这样的方法:
public void SetLabelText(string lblText)
{
lbl1.Text = lblText;
}
现在我想调用该方法从一个类(在我的情况下,它被称为MyInput)
我试着通过
Form1 F1 = new Form1();
F1.SetLabelText="This is an example";
或通过(不使用我创建的方法)
调用该方法10然而,在这两种情况下,第二个Form1
打开并导致我的程序的其余部分的各种问题。标签本身具有公共修饰符。
如何在MyInput类中实现更改label.text?
编辑: 首先我要感谢你的帮助。但建议的解决方案没有达到预期的效果。
我想我会告诉你更多的我的代码来解决这个问题:
Form1中:
namespace Project2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
.
.
.
myInput.Check();
public void SetLableText(string lblText)
{
lbl1.Text = lblText;
}
}
}
}
在我的课:
namespace Project2
{
class MyInput
{
public static void Check()
{
CODE FOR CHECKING STATUS OF DEVICE
if(status == 0)
{
//At this point lbl1.Text should be changed
}
}
}
}
我希望这有助于。
你需要在这里发送完整的代码,我认为你需要了解更多的参考和“新”的关键字 –
为什么不与文本返回一个字符串返回到表单并在那里修改或通过您的形式进入新类 – Adam
在这两种情况下,您都在调用'new Form1()',它会生成一个* new *表单。如果您希望MyInput调用已存在的Form1上的方法,则需要将Form1引用传递给MyInput。 – mbeckish