亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

CS 0120:非靜態字段、方法或屬性“foo”需要對象引用

CS 0120:非靜態字段、方法或屬性“foo”需要對象引用

MYYA 2019-06-03 10:14:55
CS 0120:非靜態字段、方法或屬性“foo”需要對象引用考慮:namespace WindowsApplication1{     public partial class Form1 : Form     {         public Form1()         {             InitializeComponent();         }         private void button1_Click(object sender, EventArgs e)         {             //int[] val = { 0, 0};             int val;             if (textBox1.Text == "")             {                 MessageBox.Show("Input any no");             }             else             {                 val = Convert.ToInt32(textBox1.Text);                 Thread ot1 = new Thread(new ParameterizedThreadStart(SumData));                 ot1.Start(val);             }         }         private static void ReadData(object state)         {             System.Windows.Forms.Application.Run();         }         void setTextboxText(int result)         {             if (this.InvokeRequired)             {                 this.Invoke(new IntDelegate(SetTextboxTextSafe), new object[] { result }); }             else             {                 SetTextboxTextSafe(result);             }         }         void SetTextboxTextSafe(int result)         {             label1.Text = result.ToString();         }         private static void SumData(object state)         {             int result;             //int[] icount = (int[])state;             int icount = (int)state;             for (int i = icount; i > 0; i--)             {                 result += i;                 System.Threading.Thread.Sleep(1000);             }             setTextboxText(result);         }         delegate void IntDelegate(int result);         private void button2_Click(object sender, EventArgs e)         {             Application.Exit();         }     }}為什么會發生此錯誤?非靜態字段、方法或屬性‘WindowsApplication1.Form1.setTextboxText(int)需要對象引用。
查看完整描述

4 回答

?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

啟動一個運行靜態方法的線程。SumData..然而,SumData打電話SetTextboxText這不是靜態的。因此,您需要一個窗體實例來調用SetTextboxText.


查看完整回答
反對 回復 2019-06-03
?
牛魔王的故事

TA貢獻1830條經驗 獲得超3個贊

您的方法必須是靜態的。

static void setTextboxText(int result){
    if (this.InvokeRequired)
    {
        this.Invoke(new IntDelegate(SetTextboxTextSafe), new object[] { result }); 
    }
    else
    {
        SetTextboxTextSafe(result);
    }}


查看完整回答
反對 回復 2019-06-03
  • 4 回答
  • 0 關注
  • 802 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號