4

情報を渡すためにこれを試しました:

Form1 frm1 = new Form1(); 
 textBox1.Text = ((TextBox)frm1.Controls["textBox1"]).Text;

これは、情報を取得するフォームのフォーム ロードにあります。しかし、テキストはありません。これを修正するにはどうすればよいですか? Form2のテキストForm1を取得して表示しています。

4

14 に答える 14

15

プロパティを使用してテキスト ボックスの内容を公開します。

class Form1 {
  public string MyValue {
    get { return textBox1.Text; }
  }
}

次に、Form2 で次のようにします。

var frm1 = new Form1();
frm1.ShowDialog(this); // make sure this instance of Form1 is visible
textBox1.Text = frm1.MyValue;

frm1常に表示したい場合はfrm1、 のクラス変数を作成し、たとえばのコンストラクターをForm2呼び出します。.Show()Form2

于 2012-06-23T00:09:01.620 に答える
5

Windowsアプリケーションでテキスト値をあるテキストボックスから別のテキストボックスに渡すための簡単で論理的な方法を見つけました。

2 番目のフォームでコードを書く:-

    Create a Parameter of *Form2* Constructor.

    namespace PassingValue
    {
         public partial class Form2 : Form
         {
             public Form2(string message)
             {
                 InitializeComponent();
                 Textbox1.Text= message;
             }
         }
    }

最初のフォームでコードを書く:-

   Use the Parameter of Second Form in *First Form*:-

   namespace PassValue
   {
      public partial class Form1 : Form
      {
         public Form1()
         {
            InitializeComponent();
         }

         private void Button1_Click(object sender, EventArgs e)
         {
             Form2 f2=new Form2(Textbox.Text);
             f2.Show();
         }
      }
   }
于 2014-05-17T13:00:46.013 に答える
2

次のコードを試してください。私にとってはうまくいきます...

    public static string sendtext = "";
private void button1_Click(object sender, EventArgs e)
{
sendtext = txt1.Text;
Form2 frm = new Form2();
frm.Show();
} 

form2 のフォーム読み込みイベントでこのデータにアクセスします。

    private void Form2_Load(object sender, EventArgs e)
{
txt2.Text = Form1.sendtext;
}

楽しみ

于 2013-08-23T17:45:29.737 に答える
1

**

100% 稼働中

**

Form1 と Form2 の 2 つのフォームを取得します。Form1 には textbox1 と Frm1Btn1 が含まれ、Form2 には Frm2Btn1 が含まれます。ここで form1 を開き、form2 をクリックして開きます。

//FORM1 コーディング:

private void Frm1Btn1_Click(object sender, EventArgs e)

{
    Form2 obj=new Form2();
    obj.showDialog();
}

//FORM2 コーディング:

private void Frm2Btn1_Click(object sender, EventArgs e)
        {

            Form1 objj = new Form1();

            objj =(Form1) Application.OpenForms["Form1"];

            objj.textBox1.Text = "Salil";

            objj=null;
        }    
于 2013-09-05T15:24:16.100 に答える
1

フォーム1

//Declare a Static variable
public static string txtInput=string.empty;`

//Set textBox Value to this variable on any event
txtInput=textBox1.Text;

フォーム2

// Now Call this variable from the Instance of form 1
string getForm1Value=string.empty;
getForm1Value=Form1.txtinput;
于 2012-06-25T13:00:23.970 に答える
0

簡単にできることは、テキスト ボックスの値を変数に格納し、コンストラクターを使用して別のフォームに渡すことです。例えば

string textboxvalue=textbox1.Text();
form2 win = new form2(textboxvalue);

ここで、form2 は値を送信するフォームで、win はそのフォームのインスタンスです。

于 2014-02-08T17:34:41.040 に答える
0

Form1 の textBox1.Text プロパティが、表示可能な実際の文字列に初期化されていることを確認してください。Form1 のデフォルトのインスタンスを使用しているため、TextBox1.Text プロパティはデフォルト値であるString.Emptyであると思われます (そして、期待しているように見えるテキストが表示されない理由) .

于 2012-06-23T00:24:33.840 に答える
0

これは結果フォームにあります:

  1. テキストボックスを配置します。
  2. コード エディターが表示されるまで、フォームをクリックする必要があります。
  3. フォームの読み込み時に、コードを挿入します。

コード:

Form1 frm1 = new Form1();
frm1.Show();
textBox1.Text = ((TextBox)frm1.Controls["textBox1"]).Text;

最初のフォーム:

  1. テキストボックスとボタンを配置します。

ボタン コード (フォーム ロード時にこのコードを入力):

this.Close();
于 2016-05-31T13:34:36.607 に答える
0

Windows アプリケーションでは、別のフォーム デザイナーに移動して、そのツールをパブリックとして宣言するだけです。どのフォームからでもそのツールにアクセスできます。

于 2016-02-04T07:35:21.517 に答える
0

Web フォームの場合、MSDN はテキストを要求するページの上部にこれを提案します。

     <%@ PreviousPageType VirtualPath="~/SourcePage.aspx" %> 

次にこれをpage_loadに

    if (PreviousPage != null)
{
TextBox SourceTextBox = 
    (TextBox) PreviousPage.FindControl("TextBox1");
if (SourceTextBox != null)
{
    Label1.Text = SourceTextBox.Text;
}
}
于 2012-06-22T23:55:33.393 に答える
-1

フォーム1

 class Form1
    {

        public System.Windows.Forms.TextBox textBox1; // we need to make it public Textbox
        private System.Windows.Forms.Button button1;
    }

Form2のボタンクリックまたはその他のイベントの使用

フォーム2

private void button1_Click(object sender, EventArgs e)
 {
            Form1 _form1 = new Form1();
            this._form2TextBox.Text = _form1.textBox1.Text;
 }

詳細については、MSDNをご覧ください。

于 2012-06-22T23:59:56.950 に答える