你的m变量在你new的时候没有赋值,当然为空。一个对象在new时只是调用其构造函数。对于string这样的对象并不会有一个初始值。

解决方案 »

  1.   

    namespace data3
    {
    /// <summary>
    /// Summary description for zhuc1.
    /// </summary>
             zhuc1是一个窗口
    public class zhuc1 : System.Windows.Forms.Form
    {
    public string yonghm;
                      public System.Windows.Forms.TextBox yonghumtextBox;
              private void InitializeComponent()
    {                            // yonghumtextBox
    // 
    this.yonghumtextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
    this.yonghumtextBox.Location = new System.Drawing.Point(144, 80);
    this.yonghumtextBox.MaxLength = 10;
    this.yonghumtextBox.Name = "yonghumtextBox";
    this.yonghumtextBox.Size = new System.Drawing.Size(112, 21);
    this.yonghumtextBox.TabIndex = 5;
    this.yonghumtextBox.Text = "";
    this.yonghumtextBox.TextChanged += new System.EventHandler(this.yonghumtextBox_TextChanged);
    }
    在yonghumtextBox输入文字.......
    单击"下一步"按钮:
    private void xiaybB_Click(object sender, System.EventArgs e)
    {
                            yonghm=yonghumtextBox.Text;
                       }
    }
    }                   zhuc2是另一个窗口
    namespace data3
    {
    /// <summary>
    /// Summary description for zhuc3.
    /// </summary>
    public class zhuc3 : System.Windows.Forms.Form
    {
    public string filename;private void liulB_Click(object sender, System.EventArgs e)
    {
    if(folderBrowserDialog1.ShowDialog()==DialogResult.OK)
    {
    pathtextBox.Text=folderBrowserDialog1.SelectedPath;
    zhuc1 zuc1=new zhuc1();
    filename=zuc1.yonghum;//出错!yonghum为空
                                         pathtextBox.AppendText(filename);
    }
                               }
             }
    }
    xiaybB_Click函数在liulB_Click前已执行,调试时看yonghum已成功赋植
    但在liulB_Click函数 中yonghum为空.