簡體   English   中英

從FORM到CLASS獲取textbox.Text

[英]Get textbox.Text from FORM to CLASS

我試圖將textbox.text設置為一個類,並且它可以正常工作我正在做錯了請幫忙!

在我的form.cs中它看起來像這樣:

    public string score1;
    public void getPlayerOneScore1Input()
    {
        score1 = playerOneScore1TextBox.Text;
    }


    public void playerOneAddScoreButton_Click(object sender, EventArgs e)
    {
        score1Calculator theCalculator = new score1Calculator(score1);


    }

在我的CLASS中它看起來像這樣:

    class score1Calculator
    {
    public score1Calculator(string score1)
        {
            this.score1= score1;

        }

    public int playerOneDart1Value;
    public void calculateDart1()
    {
        if (score1== "t1" || score1== "T1" || score1== "3")
        {
            playerOneDart1Value = 3;

        }
  else
        {
            MessageBox.Show("Dart 1! This is not a valid input!");
            return;


        }
        }


       }

錯誤我得到:'WindowsFormApplication1.score1Calculator'不包含'player'的定義,並且沒有擴展方法'player'接受類型'WindowsFormApplication1.score1Calculator'的第一個參數可以找到(你是否缺少using指令或程序集引用?)

你不要調用getPlayerOneScore1Input()來分配score1 ,在Form1中嘗試:

 public void playerOneAddScoreButton_Click(object sender, EventArgs e)
    {
        getPlayerOneScore1Input();
        score1Calculator theCalculator = new dart1Calculator(score1);
    }

沒有必要過於復雜。 Textbox.Text值只是一個字符串。 您可以使用此引用直接調用構造函數。

就這樣寫吧

score1Calculator theCalculator = new dart1Calculator(playerOneScore1TextBox.Text);

無需將值存儲在模塊級別。

單擊按鈕時,您不會調用函數getPlayerOneScore1Input() ,它實際上將值分配給score1

public void playerOneAddScoreButton_Click(object sender, EventArgs e)
{
    getPlayerOneScore1Input();
    score1Calculator theCalculator = new dart1Calculator(score1);
}

而不是在表單類中為score1賦值並將其分配給您的類成員字段。 你可以試試這個。

public void playerOneAddScoreButton_Click(object sender, EventArgs e)
{
    if (!String.IsNullOrEmpty(playerOneScore1TextBox.Text))
    {
         score1Calculator theCalculator = new dart1Calculator(playerOneScore1TextBox.Text);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM