1

メイン フォームが表示される前に名前を入力するプログラムを作成したい (または既に作成している)。入力した名前は変数として保存する必要があります。そんなに難しくないのですが、別のフォームから取得したいのですが、無理です どうすればいいですか?

YouTube の動画を見たり、Google で検索したりしましたが、必要なものが見つかりませんでした。お役に立てれば幸いです。

よろしく

4

3 に答える 3

2

グローバル変数はコードの臭いです。一般的には良い考えではありません (脆弱でテスト不可能なコードになります)。

あなたの場合、2 番目のフォームへの参照がある場合は、それにデータを渡すことができます。このフォームにプロパティを追加して、入力することができます。

// in Form2
public string Name { get; set; }

// in Form1 (frm2 is a reference to Form2)
frm2.Name = theName;

データが 2 番目の形式に不可欠な場合、別の方法として、名前をパラメーターとして受け取るコンストラクター オーバーロードを作成します。

于 2013-07-16T14:27:06.997 に答える
0

フォームにパブリック プロパティを作成すると、どこからでも参照できるようになります。

public string MyProperty{get; set;};
于 2013-07-16T14:29:10.313 に答える
0

フォーム クラスを記述している場合は、名前の設定に使用できるパブリック プロパティを追加できます。

public partial class myForm : Form
{
    public String EnteredName { get; set; }

    public myForm()
    {
        InitializeComponent();
    }
}

次に、次のように呼び出すことができます。

myForm f = new myForm();
f.EnteredName = "My Name";
f.ShowDialog();

つまり、フォーム クラス内で必要なことは何でも実行できます。

NB プロパティ Name を呼び出さないでください。これは、フォームの Name プロパティを隠しているためです。

于 2013-07-16T14:37:54.850 に答える