【发布时间】:2020-10-20 12:46:58
【问题描述】:
我在调用另一个类中的方法时遇到了一个简单的问题。
我在不同的类文件中有很多类似的代码,我认为我可以使用我经常使用的方法创建一个全局类。
但我不知道如何正确地做到这一点。
请检查我下面的代码并告诉我它可能出了什么问题。
另外,请告诉我是否可以做不同的事情?Form1 只包含一个按钮。
namespace GlobalMethod
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void ChangeTextInButton1(string newText)
{
button1.Text = newText;
}
private void Button1_Click(object sender, EventArgs e)
{
GlobalMethods gm = new GlobalMethods();
gm.ChangeTextButtonFromOtherClass();
}
}
public class GlobalMethods
{
public void ChangeTextButtonFromOtherClass()
{
Form1 f1 = new Form1();
f1.ChangeTextInButton1("NEW BUTTON NAME");
}
}
}
当我调用这些方法时,方法完美,string 被传递给ChangeTextInButton1(),但button 中的Text 没有改变,我不知道为什么。
【问题讨论】:
-
该代码中没有“全局”。您正在
ChangeTextButtonFromOtherClass中创建一个new Form1,与任何现有表单无关 -
您应该提供对现有表单的引用,而不是创建一个新表单,以便对其进行修改。
标签: c# function class object methods