在用户控件之间访问数据

时间:2010-10-02 05:04:39

标签: c# winforms visual-studio-2008

我是Visual Studio C#2008的初学者。目前,我正在创建程序,该程序要求我在一个User Control项中输入用户,并且需要将此数据传递给另一个用户控件以进行算术操作。 / p>

我的第一个用户控件名为Structure_Data。我将从名为LengthB_txtWidthB_txtHeightB_txt的文本框中获取输入值。

上述文本框中的这些值输入将在名为UserControl的新CollectionArea中进行访问。

我不知道如何连接用户控件以及访问数据。在我的用户控件:收集区域中,为了使我的最终结果显示在Ad_txt文本框中,我执行了以下代码。但是,我收到了错误:

  

'WindowsFormsApplication1.Structure_Data.LengthB_txt'   由于其保护级别而无法访问

请帮帮我。我卡住了! =(谢谢......


private void Ad_txt_TextChanged(object sender, EventArgs e)
    {
      //  const double PI = 3.14159265;
        double Lb;
        double Wb;
        double Hb;

        // Get the input value for Dimensions: Length
        Lb = Convert.ToDouble(StructDataPass.LengthB_txt.Text);
        Wb = Convert.ToDouble(StructDataPass.WidthB_txt.Text);
        Hb = Convert.ToDouble(StructDataPass.HeightB_txt.Text);

        double Ad_temp=0;
        double result_temp1=0;
        result_temp1 = Math.Pow(3 * Hb, 2);
        Ad_temp = Lb*Wb*6*Hb*(Lb+Wb)+(Math.PI)*result_temp1;
        Ad_txt.Text = Convert.ToString(Ad_temp);

    }

1 个答案:

答案 0 :(得分:1)

以下内容如何:

  1. 创建一个具有每个控件的属性的类
  2. 每个usercontrol都会获得对将在主窗体中初始化的类实例的引用。
  3. 当用户控件中的值发生更改时,会引发一个捕获我的主窗体的事件
  4. 其他用户控件将订阅该事件并刷新其文本框