我试图将LabelStatus的文本设置为类中的消息,但它不起作用。 这是我的代码:
类别:
public bool openConnection()
{
SetStatus("Connecting to " + Server);
//Mysql code
}
private void SetStatus(string msg)
{
Form1 form = new Form1();
form.SetStatus(msg);
}
Form1中:
public void SetStatus(string status)
{
labelStatus.Text = _status;
}
我是C#(php家伙)的新手,因为我的生活无法弄清楚我做错了什么
答案 0 :(得分:1)
尝试在表单上调用ShowDialog
或Show
方法
private void SetStatus(string msg)
{
Form1 form = new Form1();
form.SetStatus(msg);
form.ShowDialog(this);
}
答案 1 :(得分:0)
看起来像是在设置成员变量而不是函数的参数。
//try something like this
this._status = status;
this.labelStatus.Text = this._status;
答案 2 :(得分:0)
设置labelStatus.Text
时,您不会使用传递给SetStatus(string)
的参数进行设置。您似乎意外地使用了数据成员。
答案 3 :(得分:0)
从您的代码中,我认为您的类正在更改表单标签的状态标签。要更改表单标签文本,您需要已打开表单的对象。为您的班级中的表单定义变量。
public class ConnectionCheck
{
private Form myForm;
public void ConnectionCheck(Form form)
{
myForm = form;
}
public bool openConnection()
{
SetStatus("Connecting to " + Server);
//Mysql code
}
private void SetStatus(string msg)
{
//Call method to change label text
myForm .SetStatus(msg);
}
}
在创建ConnectionCheck对象时从from1 codebehind(form1.cs)传递form1对象。
ConnectionCheck connection = new ConnectionCheck(this);
另外,将_status更改为参数变量。
public void SetStatus(string status)
{
labelStatus.Text = status;
}
答案 4 :(得分:0)
查看名称:尝试使它们相同,参见
labelStatus.Text = **status**;