![](/img/trans.png)
[英]Run SLN file (visual studio solution) from win form application
[英]Visual Studio Win Form
該程序運行,盡管它沒有正確計算加載項。 即使選中了所有3個附加組件,它的計算結果也不會超過75美分。 數組名稱也不會更改,即使它沒有顯示與數組相關的任何錯誤,也可能與事件處理程序顯示為錯誤有關。
{
private object groupSalad;
private object groupPizza;
private object groupHamburger;
private int addon3;
private int addon2;
private int addon1;
public Form1()
{
//created event handlers for change in radiobox
InitializeComponent();
hamburger.CheckedChanged += new System.EventHandler(groupHamburger.Checked);
salad.CheckedChanged += new System.EventHandler(groupSalad.Checked);
pizza.CheckedChanged += new System.EventHandler(groupPizza.Checked);
// ERROR ON groupSalad/Pizza/Hambuger.CHECKED' and
// group Pizza. object does not contain a definition for 'checked'
// and no extension method for 'checked' accepting a first argiument
}
private void btnPlaceOrder_Click(object sender, EventArgs e)
{
//declared variables to hold
decimal tax = .09m;
decimal food = 0;
decimal addOn;
//food options. 3 radio buttons
decimal burger = 9.95m;
decimal salad = 7.95m;
decimal pizza = 8.95m;
//variables to hold currency ammounts
decimal subtotal = 0;
decimal taxAmmount = 0;
decimal total = 0;
//depending on radio button options, addons will change text with array
string[] addOnPizza = new string[2];
//array type 1. not prefered
addOnPizza[0] = "Suasage";
addOnPizza[1] = "Olives";
//salad add-ons
string[] addOnSalad = new string[3];
addOnSalad[0] = "Bacon Bits";
addOnSalad[1] = "Bread Sticks";
addOnSalad[2] = "Croutons";
//array type. prefered
string[] addOnBurger = { "Cheese", "Ketchup", "Fries" };
//RadioButtons
if (this.hamburger.Checked)
{
food = burger;
addOn = .75m;
chkAddOn1.Text = addOnBurger[0];
chkAddOn2.Text = addOnBurger[1];
chkAddOn3.Text = addOnSalad[2];
}
else if (this.salad.Checked)
{
food = salad;
addOn = 45m;
chkAddOn1.Text = addOnSalad[0];
chkAddOn2.Text = addOnSalad[1];
chkAddOn3.Text = addOnSalad[2];
}
else if (this.pizza.Checked)
{
addOn = .65m;
food = pizza;
chkAddOn1.Text = addOnPizza[0];
chkAddOn2.Text = addOnPizza[1];
chkAddOn3.Text = null;
}
decimal addOnTotal;
if (chkAddOn1.Checked)
{
addOnTotal =+ addon1;
if (chkAddOn2.Checked)
addOnTotal =+ addon2;
if (chkAddOn3.Checked)
addOnTotal =+ addon3;
}
//Use of unassigned variable for addOnTotal
subtotal = food + addOnTotal;
taxAmmount = food * tax;
total = taxAmmount + food;
txtSubtotal.Text = subtotal.ToString("c");
txtTax.Text = tax.ToString("c");
txtTotal.Text = total.ToString("c");
}
}
}
這條線有問題
hamburger.CheckedChanged += new System.EventHandler(groupHamburger.Checked);
它應該是
hamburger.CheckedChanged += new System.EventHandler(btnPlaceOrder_Click);
因為CheckedChanged
事件處理程序具有期望處理程序函數的簽名,該函數具有將sender & EvenArgs
作為參數button1_Click(object sender, EventArgs e)
對於第二個錯誤
//Use of unassigned variable for addOnTotal
subtotal = food + addOnTotal;
您必須將addOnTotal
變量初始化為默認值,因為它與in function一起使用,根據指南,方法本地的所有變量都應初始化,因此請執行以下操作
decimal addOnTotal=0;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.