0

私はc#でWindowsフォームアプリケーションを書いています。メニューを入れるようにデザインを変更しました。メニュー項目ごとに基本クラスといくつかの子クラスがあります。私の問題は、基本クラスでGUI要素にアクセスし、その値をパブリック変数に格納していることです。今、私は私の子クラスからこれにアクセスしたいと思います。

public partial class x: Form

{
 # calling this public method from child class to to get the variable value 
      public string Getlogpath()
           {
               Console.WriteLine(this.logpath);
               return logsdirectory.Text;
           }
     private void reportFromLogsToolStripMenuItem_Click(object sender, EventArgs e)
            {                       
               Form2 child1 = new Form2();                  
               this.LayoutMdi(System.Windows.Forms.MdiLayout.Cascade);                        
               child1.Show();            

          }
 public void browse_Click(object sender, EventArgs e)
       {
           FolderBrowserDialog fbd = new FolderBrowserDialog();
           fbd.SelectedPath = (@"\\comprion02\ots\SHARED\T\COMPRION SIMfony\Log-Files");
           fbd.ShowDialog();
           logsdirectory.Text = fbd.SelectedPath;
           logpath = logsdirectory.Text;
           # this print i get value i need
           Console.WriteLine(logpath);
       }
}

#child form class

 public partial class Form2 : Form
{
 private void button1_Click(object sender, EventArgs e)
        {
            string data;
            x obj = new x();           
            data = obj.Getlogpath();

           #got nothing for this print
           Console.WriteLine(x);
        }
 }

誰かがこれで私を助けることができます。

4

2 に答える 2

0

Console.WriteLine(Form.Getlogpath());代わりにこれを使用してくださいConsole.WriteLine(x);

Formまたは、クラスの代わりにXクラスのオブジェクトを作成します。

           Form obj = new Form();
           Console.WriteLine(obj.Getlogpath());
于 2013-03-26T10:50:01.410 に答える
0

privateやpublicの代わりにprotectedというキーワードを使ってみませんか。詳細はこちら-http://msdn.microsoft.com/en-us/library/wxh6fsc7(v= vs.71 ).aspx

于 2013-03-26T10:53:27.533 に答える