程序有俩个窗口一个main和一个summary,都是定义好的,summary窗体上有salesCountLabel,saleTotalLabel
两个标签用来显示数据的用main窗口菜单中的fileSummaryMenuItem_Click打开summary并传对象的参数代码
fileSummaryMenuItem_Click(object sender ,System.EventArgs e)
{
     SummaryForm summaryFormObject =new SummaryForm();     summaryFormObject.salesCountLabel.Text = BookSale.SalesCount.ToString();
     summaryFormObject.saleTotalLabel.Text = BookSale.SalesTotal.ToSring();
     
     summaryFormObject.show();
}
显示错误:
俩个错误一样: 1 “示例练习.SummaryForm.salesCountLabel”不可访问,因为它受保护级别限制 E:\练 习\第六章\示例练习\示例练习\MainForm.cs 73 31 示例练习为什么会出现这错误??????咋样解决????????

解决方案 »

  1.   

    在summary窗体里定义两个公共变量
    在fileSummaryMenuItem_Click里给两个变量赋值
    在summary的formload里把变量赋值给label
      

  2.   

    在单击菜单事件里
    窗口对象summaryFormObject引用不了summary窗体里定义两个变量~!
      

  3.   

    把salesCountLabel设置成 puplic
    这也要高手来答? 晕 您新手吧
      

  4.   

    私有变量必然不能访问,解决办法
    1
    summaryFormObject .Controls.Find("salesCountLabel",true)
    2
    定义为public
    3
    定义属性传值(推荐)
      

  5.   

    这个是界面间的传值,这样是不能赋值的,大体思路如下:
    1,在summary窗体中做两个string属性和两个全局变量,属性分别return一个summary窗体的全局变量
    2,在fileSummaryMenuItem_Click中写下代码
      summary窗体的属性1 = main要传的值1
      summary窗体的属性2 = main要传的值2
    3,最后在summary窗体的Form_Load中
      summaryFormObject.salesCountLabel.Text  = summary窗体全局变量1;
      summaryFormObject.saleTotalLabel.Text = summary窗体全局变量2;
    按照上面的步骤试一试...
      

  6.   


    private 类型 salesCountLabel;
    private 类型 saleTotalLabel;
    public Form1(类型 值1,类型 值2)
    {
        this.salesCountLabel=值1;
        this.saleTotalLabel=值2;
        InitializeComponent();
    }new summary时传两个参数就OKle 
      

  7.   

    事实上,只要把salesCountLabel和saleTotalLabel 的属性栏里的Modifiers值变成public就可以了。