1

だから私は自分のプロジェクトに2つのクラスを持っています。

namespace WindowsApplication13
{
    partial class Form1

そして、ある場所は次のように言っています:

namespace WindowsApplication13
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            string text1, text2, text3, text4;
            InitializeComponent();
            text1 = textBox1.Text;
            text2 = textBox2.Text;
            text3 = textBox3.Text;
            text4 = textBox4.Text;
        }
    }
}

}

では、Class1 で後者をインスタンス化するにはどうすればよいでしょうか。

私が試してみました

Form1 : Form f1 = new Form1 : Form();

Form1 f1 = new Form1();

Form f1 = new Form();

しかし、 Form1 : Form から変数を取得しようとすると、「WindowsApplication13.Form1」に「text1」の定義が含まれていないというエラーが表示されるため、どれも機能しません。

この投稿が乱雑であったり、出来が悪い場合は申し訳ありません。必要に応じて、コメントで詳細を説明できます。ありがとう!

編集: 申し訳ありませんが、Form f1 = new Form の場合の構文は知っていますが、これを書いているときに忘れてしまいました!

4

2 に答える 2

3

これはC#を意図していると思いますか?その場合、変数を宣言し、次のようにクラスをインスタンス化します。

Form1 form = new Form1();

はから継承していることを示すForm1 : Formクラス宣言Formの一部です。変数宣言の一部としては必要ありません。

(何が問題なのかtext1わかりません - あなたはそれがどのように宣言されているか、またはどのように使用しようとしているのかについて何も教えていません。)

于 2013-02-03T22:01:42.710 に答える
1

変数を宣言する正しい構文は次のとおりです。

Form1 varName = new Form1();

Form1クラスの名前です。それが部分的であるという事実は何の違いもありません。

フォーム内のコントロールにアクセスする場合は、最初に公開する必要があります。(または、さらに良いのは、必要な機能を公開するパブリック プロパティの背後に隠すことです)。

于 2013-02-03T22:01:38.930 に答える