for (int j = 0; j < Tem.Length; j++)
            {                Canvas gr1 = new Canvas();
                gr1.Margin = new Thickness(7, 20, 12, 0);
                gr1.Height = 50;
                gr1.Width = 495;
                Label lab1 = new Label();
                lab1.Content = "定标温度" + Tem[j].ToString() + "℃";
                lab1.Height = 25;
                //gr1.Header = "定标温度" + Tem[j].ToString() + "℃";
                Label lbl1 = new Label();
                lbl1.Content = "温度值";
                lbl1.Margin = new Thickness(0, 25, 0, 0);
                lbl1.Width = 69;
                lbl1.Height = 28;
                TextBox txt1 = new TextBox();
                txt1.Height = 23;
                txt1.Width = 66;
                txt1.Margin = new Thickness(72, 25, 0, 0);
                txt1.Name = "txt" + Tem[j].ToString();
                Button btn1 = new Button();
                btn1.Content = "采集";
                btn1.Height = 23;
                btn1.Width = 75;
                btn1.Margin = new Thickness(165, 25, 0, 0);
                btn1.Name = "Btn" + Tem[j].ToString();
                btn1.Click += new RoutedEventHandler(btnEvent_Click);
                gr1.Children.Add(btn1);
                gr1.Children.Add(txt1);
                gr1.Children.Add(lbl1);
                gr1.Children.Add(lab1);
                SP1.Children.Add(gr1);
    
            }
                    
请问怎么在点击生成的BUTTON时,取到在同一循环中同时生成的TEXTbox的值?

解决方案 »

  1.   

     for (int j = 0; j < Tem.Length; j++)
                {                Canvas gr1 = new Canvas();
                    gr1.Margin = new Thickness(7, 20, 12, 0);
                    gr1.Height = 50;
                    gr1.Width = 495;
                    Label lab1 = new Label();
                    lab1.Content = "定标温度" + Tem[j].ToString() + "℃";
                    lab1.Height = 25;
                    //gr1.Header = "定标温度" + Tem[j].ToString() + "℃";
                    Label lbl1 = new Label();
                    lbl1.Content = "温度值";
                    lbl1.Margin = new Thickness(0, 25, 0, 0);
                    lbl1.Width = 69;
                    lbl1.Height = 28;
                    TextBox txt1 = new TextBox();
                    txt1.Height = 23;
                    txt1.Width = 66;
                    txt1.Margin = new Thickness(72, 25, 0, 0);
                    txt1.Name = "txt" + Tem[j].ToString();
                    Button btn1 = new Button();
                    btn1.Content = "采集";
                    btn1.Height = 23;
                    btn1.Width = 75;
                    btn1.Margin = new Thickness(165, 25, 0, 0);
                    btn1.Name = "Btn" + Tem[j].ToString();
                    btn1.Click += new RoutedEventHandler(btnEvent_Click);
    btn1.Tag=txt1; //记住
                    gr1.Children.Add(btn1);
                    gr1.Children.Add(txt1);
                    gr1.Children.Add(lbl1);
                    gr1.Children.Add(lab1);
                    SP1.Children.Add(gr1);
        
                }
    btnEvent_Click事件里
     string str=((sender as Button ) as TextBox ).Text;
      

  2.   

    btnEvent_Click事件里
     string   str=((sender   as   Button   ).Tag   as   TextBox   ).Text;