我已經創建了兩種不同的形式,一種是供用戶選擇值,另一種是顯示所有總成本。第二種形式不能正確顯示
我確實聲明瞭另一個類的實例,並向它傳遞了兩個持有費用的變量。在第二個類中,我有一個構造函數接受參數,然後將它們分配給第二種形式的變量。
當試圖通過使用「.ShowDialog();」顯示第二個結果時,方法,窗體顯示爲空白,沒有任何內容。
第一形式:
namespace DormAndMeal
{
public partial class MainForm : Form
{
int ALLENPRICE = 1500;
int PIKEPRICE = 1600;
int FARTHINGPRICE = 1800;
int UNIVERSITYPRICE = 2500;
int MEAL7 = 600;
int MEAL14 = 1200;
int UNLIMITEDMEAL = 1700;
public MainForm()
{
InitializeComponent();
}
private void btnExit_Click(object sender, EventArgs e)
{
// close
this.Close();
}
private void btnOkay_Click(object sender, EventArgs e)
{
int roomCharge = 0;
int foodCharge = 0;
// Checking for the room plan chosen, assigning price to roomCharge
if (radAllen.Checked)
{
roomCharge = ALLENPRICE;
}
else if (radPike.Checked)
{
roomCharge = PIKEPRICE;
}
else if (radFarthing.Checked)
{
roomCharge = FARTHINGPRICE;
}
else if (radUniversity.Checked)
{
roomCharge = UNIVERSITYPRICE;
}
// Checking for which meal plan was selected, assign price to foodCharge
if (radMeal1.Checked)
{
foodCharge = MEAL7;
}
else if (radMeal2.Checked)
{
foodCharge = MEAL14;
}
else if (radMeal3.Checked)
{
foodCharge = UNLIMITEDMEAL;
}
// Instance of Charges form
Charges myCharges = new Charges(foodCharge, roomCharge);
// Display the form
myCharges.ShowDialog();
}
}
}
正如你可以看到,該形式發現其選擇單選按鈕,並相應地分配的價格,然後它創建的第二形式的一個實例,並示出了它。
形式2:
namespace DormAndMeal
{
public partial class Charges : Form
{
int foodTotal;
int roomTotal;
public Charges()
{
InitializeComponent();
}
public Charges(int food, int room)
{
this.roomTotal = room;
this.foodTotal = food;
}
private void Charges_Load(object sender, EventArgs e)
{
lblFood.Text = foodTotal.ToString("c");
lblRoom.Text = roomTotal.ToString("c");
lblTotal.Text = (foodTotal + roomTotal).ToString("c");
}
private void btnClose_Click(object sender, EventArgs e)
{
// close
this.Close();
}
}
}
這種形式有一個構造函數接受的參數併爲它們分配,然後通過並顯示他們所在的表格上相應的變量。
由於某種原因,第二種形式顯示空白。
所以第二種形式應該有一個按鈕和3個標籤? – Brian