2011-02-13 41 views
0

我一直在为学校做实验,一切都在顺利进行,直到我遇到困难。我必须写一个程序,询问用户销售人员的初始(C,D或M)以及他们所做的销售价格。我还必须保持每个销售员赚取的佣金的运行时间,直到我清除或退出程序。如何从一个单独的事件处理程序访问一个变量

当我达到计算佣金时,它当然应该计算佣金(它所做的),但是因为变量是方法级别(或一些较低的访问级别),我似乎无法返回它们,通过第二种方法从“... C”变量中获得所需的信息。

What the user would hypothetically see if they ran the program

namespace SunshineHotTubs 
{ 
    public partial class FrmSalesCommission : Form 
    { 
     double cliffS = 0; 
     double dinoS = 0; 
     double marshaS = 0; 

     public FrmSalesCommission() 
     { 
      InitializeComponent(); 
     } 

     public void btnCalcCommission_Click(object sender, EventArgs e) 
     { 
      string salesperson = txtInitial.Text; 
      double sale = Convert.ToDouble(txtSaleTotal.Text); 

      switch(salesperson) 
      { 
       case "c": 
       case "C": 
        cliffS += sale; 
        double cliffC = cliffS * .10; 
        lblCommission.Text = Convert.ToString(cliffC); 
        break; 
       case "d": 
       case "D": 
        dinoS += sale; 
        double dinoC = dinoS * .10; 
        lblCommission.Text = Convert.ToString(dinoC); 
        break; 
       case "m": 
       case "M": 
        marshaS += sale; 
        double marshaC = marshaS * .10; 
        lblCommission.Text = Convert.ToString(marshaC); 
        break; 
      } 
     } 

     private void btnDisplayCommission_Click(object sender, EventArgs e) 
     { 
      MessageBox.Show("Cliff's Commission: " + cliffC + "\n" 
          + "Dino's Commission: " , "Total Commissions"); 
     } 
    } 
} 

什么是对我得到我需要我的btnDisplayCommission_Click事件的信息最简单的方法?

+1

这足以做`this.cliffC =什么...``中btnCalcCommission_Click`,还是我失去了一些东西? – digEmAll 2011-02-13 15:05:44

+0

你需要哪些信息不是一个字段? – 2011-02-13 15:19:36

回答

1

你已经宣布在类级别的变量:

double cliffC = 0; 
double dinoC = 0; 
double marshaC = 0; 

只需更换这一点:

double cliffC = cliffS * .10; 
double dinoC = dinoS * .10; 
double marshaC = marshaS * .10; 

在此:

cliffC = cliffS * .10; 
dinoC = dinoS * .10; 
marshaC = marshaS * .10; 

更新

您也可以在btnDisplayCommission_Click方法只是calcuate值:

MessageBox.Show("Cliff's Commission: " + cliffS * .10 + "\n" 
       + "Dino's Commission: " , "Total Commissions"); 
相关问题