1. 程式人生 > >C#中的靜態函式,如何操作Form中的控制元件

C#中的靜態函式,如何操作Form中的控制元件

1.第一個問題,關於,回撥函式是否必須為靜態函式或者全域性函式?
2.第二個問題,靜態函式,如何操作Form中的控制元件?
public static Form1 form1;
 
public Form1()
{
   InitializeComponent();
 
   form1 = this;
}

state.workSocket = handler;
handler.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0, new AsyncCallback(ReadCallback), state);

public static void ReadCallback(IAsyncResult ar)
{
 Form1.form1.textBoxReceive.AppendText(strmsgtemp);
}

3.第三個問題:非建立控制元件執行緒,無法訪問
//非建立控制元件執行緒,無法訪問
//richTextBox1.AppendText(Encoding.ASCII.GetString(data, 0, recvlength));
 
delegate void richtexttip();
richtexttip richtext3 = delegate()
{
  richTextBox1.AppendText("client:"+Encoding.Unicode.GetString(data, 0, recvlength) + "\r\n");
};
richTextBox1.Invoke(richtext3);