我正在尝试显示从服务器发送到客户端的一些数据。客户端脚本是一个 Windows 窗体应用程序,我有一个名为 label1 的标签,我试图将其文本显示为从服务器客户端接收到的数据,但 label1 的文本根本不会改变。这是什么原因?下面是客户端代码。服务器脚本是一个控制台应用程序。
现在 Program.cs 是空的,Form1.cs 看起来像这样,但 label1.text 仍然出现相同的错误:
namespace WindowsFormsApplication4
{
public partial class Form1 : Form
{
public Form1() { InitializeComponent(); }
private void Form1_Load(object sender, EventArgs e)
{
GetDataFromUDP();
}
public static void SetTextForLabel(string myText)
{
label1.Text = myText;
}
private void GetDataFromUDP()
{
UdpClient subscriber = new UdpClient(8899);
IPAddress addr = IPAddress.Parse("230.0.0.1");
subscriber.JoinMulticastGroup(addr);
IPEndPoint ep = null;
for (int i = 0; i < 10; i++)
{
byte[] pdata = subscriber.Receive(ref ep);
string price = Encoding.ASCII.GetString(pdata);
//Write data to the label
SetTextForLabel(price);
}
subscriber.DropMulticastGroup(addr);
}
}
}
在 SetTextForLabel 里面我得到了错误:
An object reference is required for the non-static field, method, or property 'WindowsFormsApplication4.Form1.label1'
public static void SetTextForLabel(string myText)
{
label1.Text = myText;
}