2016-02-29 61 views
0

這可能很簡單。這是一個類的任務,似乎有幾個版本的這個浮動,以及幾個版本的答案,但我不知道他們是如何工作的。該任務是創建兩種形式。一個是宿舍價格和膳食價格,第二個是顯示總價格。我希望價格在價格表中顯示爲輸入標籤。除了我不確定如何從一個到另一個獲取信息。這是否需要我在計算器表單中的某處進行get/set? 這是形式1(計算器)代碼:將變量傳遞給另一種形式

public partial class Calculator : Form 
{ 
    Price myPrice = new Price(); 
    decimal dorm = 0; 
    decimal meal = 0; 

    public Calculator() 
    { 
     InitializeComponent(); 
    } 

    private void getPriceButton_Click(object sender, EventArgs e) 
    { 
     decimal price = 0; 

     getInput(); 

     price = dorm + meal; 

     myPrice.ShowDialog(); 


    } 

    private void getInput() 
    { 
     if(allenRadioButton.Checked) 
     { 
      dorm = 1500; 
     } 

     if(pikeRadioButton.Checked) 
     { 
      dorm = 1600; 
     } 

     if(farthingRadioButton.Checked) 
     { 
      dorm = 1800; 
     } 

     if(universityRadioButton.Checked) 
     { 
      dorm = 2500; 
     } 

     if(sevenRadioButton.Checked) 
     { 
      meal = 600; 
     } 

     if(fourteenRadioButton.Checked) 
     { 
      meal = 1200; 
     } 

     if(unlimitedRadioButton.Checked) 
     { 
      meal = 1700; 
     } 
    } 

這是窗口2(價格)代碼:

public partial class Price : Form 
{ 
    Calculator myCalulator = new Calculator(); 

    public Price() 
    { 
     InitializeComponent(); 
    } 

    priceLabel.Text = price.myCalculator.TosString("c"); 
} 
+0

之前提示:您可以添加自定義構造函數形式。 – PTwr

+0

[將變量從Form2發送到Form1]可能重複(http://stackoverflow.com/questions/27046777/sending-variables-from-form2-to-form1) – netblognet

+0

使變量靜態 –

回答

1

可以使價格的變量在第二形態和你的價格傳遞到價格形式的構造方法:只需添加一個變量,並使其成爲公衆

public string price; 
    public Price(string price) 
    { 
     this.price = price; 
     InitializeComponent(); 
    } 

    private void getPriceButton_Click(object sender, EventArgs e) 
    { 
     decimal price = 0; 
     getInput(); 
     price = dorm + meal; 
     Price myPrice = new Price(price) 
     myPrice.ShowDialog(); 
    } 
+0

我試過兩種構造函數的版本,但它一直告訴我「方法必須返回一個類型」,即使它是一個構造函數。我會繼續努力。謝謝你一堆 – secretTina

+0

你只需要在Price構造函數中使用它,並在創建myPrice期間傳遞它,並且我犯了一個錯誤 - 在你的情況下應該有小數,而不是字符串。 – Katia

+0

這很酷我抓住了,我已經得到它的一部分工作,我現在有其他錯誤。你真棒 – secretTina

0

傳遞的價格作爲參數的價格形式的新的參數化的構造和使用本進一步操作。

private decimal _price; 

public Price(decimal pPrice) 
{ 
    InitializeComponent(); 
    _price = pPrice; 
    ... 
} 

還使用此新構造函數實例化按鈕單擊事件中的myPrice對象。喜歡;

Price myPrice = new Price(price); 
myPrice.ShowDialog(); 

其他方式來將值傳遞從一種形式到另,請參閱本鏈路; How can I pass values from one form to another?Passing Parameters back and forth between forms in C#

+0

感謝所有人......你不知道在很短的時間內讓我有多遠。謝謝 – secretTina

0

你可以這樣做窗戶就像這樣。

public int PassValue 

和值傳遞給它的形式稱爲

form1 obj = new form1(); 
obj.PassValue = 34; 
obj.Show(); 
相關問題