.netでのtextbox
.netでのtextbox
VC.netで画面にtextboxを作りました。
ただ問題点が3つほどあります。
①Ctrl+Aですべてを選択ができる。
②Ctrl+Zでメモ帳のように一回だけUNDOするのではなく
wordなどのように何回UNDOできるようにしたい。
③又、Escキーでアプリを終了させたい。(やはりWM_ESCみたいなのを書くのでしょうか?)
ただ問題点が3つほどあります。
①Ctrl+Aですべてを選択ができる。
②Ctrl+Zでメモ帳のように一回だけUNDOするのではなく
wordなどのように何回UNDOできるようにしたい。
③又、Escキーでアプリを終了させたい。(やはりWM_ESCみたいなのを書くのでしょうか?)
Re:.netでのtextbox
(1) は質問ではないようなので飛ばします。
(2) は,自分で処理するしかないです。
Windows Forms の TextBox もメモ帳の入力欄も,どちらも元を正せば Win32 の EDIT コントロールです。
で,EDIT コントロール自体には一度分の UNDO 機能しかありません。
# WPF なら複数回の UNDO ができるのですが。
(3) キーが押された場合に閉じる処理は自分で書く必要があります。
Form の KeyPreview プロパティを true に設定し,
OnKeyDown 関数をオーバーライドするか,Form の KeyDown イベントで,
e->KeyData が Keys::Escape だった場合は Form の Close 関数を呼び出すようにします。
(2) は,自分で処理するしかないです。
Windows Forms の TextBox もメモ帳の入力欄も,どちらも元を正せば Win32 の EDIT コントロールです。
で,EDIT コントロール自体には一度分の UNDO 機能しかありません。
# WPF なら複数回の UNDO ができるのですが。
(3) キーが押された場合に閉じる処理は自分で書く必要があります。
Form の KeyPreview プロパティを true に設定し,
OnKeyDown 関数をオーバーライドするか,Form の KeyDown イベントで,
e->KeyData が Keys::Escape だった場合は Form の Close 関数を呼び出すようにします。
Re:.netでのtextbox
ご回答ありがとう御座います。
すみません・・・1も質問です。
Ctrl+Aですべてを選択できるようにしたい。
が正しいです。
以上、ご確認よろしくお願いします。
すみません・・・1も質問です。
Ctrl+Aですべてを選択できるようにしたい。
が正しいです。
以上、ご確認よろしくお願いします。
Re:.netでのtextbox
修正) KeyData => KeyCode
機能がないなら自分で書けばいいわけで……。
対象の TextBox の KeyDown イベントで,
・e->KeyCode が Keys::A
・e->Control が true
を満たしたら,SelectAll メソッドを呼び出せばよいです。
詳細は,以下のあたり。
MSDN: Control.KeyDown イベント (System.Windows.Forms)
http://msdn.microsoft.com/ja-jp/library ... ydown.aspx
MSDN: KeyEventHandler デリゲート (System.Windows.Forms)
http://msdn.microsoft.com/ja-jp/library ... ndler.aspx
MSDN: KeyEventArgs クラス (System.Windows.Forms)
http://msdn.microsoft.com/ja-jp/library ... targs.aspx
MSDN: KeyEventArgs.KeyCode プロパティ (System.Windows.Forms)
http://msdn.microsoft.com/ja-jp/library ... ycode.aspx
MSDN: Keys 列挙体 (System.Windows.Forms)
http://msdn.microsoft.com/ja-jp/library ... .keys.aspx
MSDN: KeyEventArgs.Control プロパティ (System.Windows.Forms)
http://msdn.microsoft.com/ja-jp/library ... ntrol.aspx
MSDN: KeyEventArgs.Handled プロパティ (System.Windows.Forms)
http://msdn.microsoft.com/ja-jp/library ... ndled.aspx
MSDN: TextBoxBase.SelectAll メソッド (System.Windows.Forms)
http://msdn.microsoft.com/ja-jp/library ... ctall.aspx
機能がないなら自分で書けばいいわけで……。
対象の TextBox の KeyDown イベントで,
・e->KeyCode が Keys::A
・e->Control が true
を満たしたら,SelectAll メソッドを呼び出せばよいです。
詳細は,以下のあたり。
MSDN: Control.KeyDown イベント (System.Windows.Forms)
http://msdn.microsoft.com/ja-jp/library ... ydown.aspx
MSDN: KeyEventHandler デリゲート (System.Windows.Forms)
http://msdn.microsoft.com/ja-jp/library ... ndler.aspx
MSDN: KeyEventArgs クラス (System.Windows.Forms)
http://msdn.microsoft.com/ja-jp/library ... targs.aspx
MSDN: KeyEventArgs.KeyCode プロパティ (System.Windows.Forms)
http://msdn.microsoft.com/ja-jp/library ... ycode.aspx
MSDN: Keys 列挙体 (System.Windows.Forms)
http://msdn.microsoft.com/ja-jp/library ... .keys.aspx
MSDN: KeyEventArgs.Control プロパティ (System.Windows.Forms)
http://msdn.microsoft.com/ja-jp/library ... ntrol.aspx
MSDN: KeyEventArgs.Handled プロパティ (System.Windows.Forms)
http://msdn.microsoft.com/ja-jp/library ... ndled.aspx
MSDN: TextBoxBase.SelectAll メソッド (System.Windows.Forms)
http://msdn.microsoft.com/ja-jp/library ... ctall.aspx
Re:.netでのtextbox
YuOさん
回答ありがとうございます。
e->KeyCode
このインスタンス?がないようです・・・。
KeyStateというものがあり似たようなものをWindowsAPIでつかった記憶があります。
またtextboxについてなのですが特殊な作り方をしていて
3つのことをおやりたい場合私の場合どうやって書けばよろしいのでしょうか?
ソースを載せさせていただきます。
回答ありがとうございます。
e->KeyCode
このインスタンス?がないようです・・・。
KeyStateというものがあり似たようなものをWindowsAPIでつかった記憶があります。
またtextboxについてなのですが特殊な作り方をしていて
3つのことをおやりたい場合私の場合どうやって書けばよろしいのでしょうか?
ソースを載せさせていただきます。
Re:.netでのtextbox
すいません・・・
私の勘違いでできなかったようです・・・。
エラーで動かなかったのですがリビルドしたらできました・・・。
2について挑戦してみます。
私の勘違いでできなかったようです・・・。
エラーで動かなかったのですがリビルドしたらできました・・・。
2について挑戦してみます。
Re:.netでのtextbox
2番についてはなんとかできそうです。
現在考えているのは
例)30回戻れるようにする場合
String型で配列を30定義します。
int型でCntを定義します
テキストボックスに変更がある度にCntを+1し
Str[Cnt] = ~->text;
if(Cnt > 30){
~
}
Ctrl+Zなら
Cntを-1
~->text = Str[Cnt];
if(Cnt > 30){
~
}
みたいに書こうかと考えております。
みづらくてすみません。
時間がないので明日、試しますが
これでは無理そうでしょうか?
またメモ帳のようにテキストボックスにスクロールバーを付けたいです。
どうにかしてできないでしょうか?
現在考えているのは
例)30回戻れるようにする場合
String型で配列を30定義します。
int型でCntを定義します
テキストボックスに変更がある度にCntを+1し
Str[Cnt] = ~->text;
if(Cnt > 30){
~
}
Ctrl+Zなら
Cntを-1
~->text = Str[Cnt];
if(Cnt > 30){
~
}
みたいに書こうかと考えております。
みづらくてすみません。
時間がないので明日、試しますが
これでは無理そうでしょうか?
またメモ帳のようにテキストボックスにスクロールバーを付けたいです。
どうにかしてできないでしょうか?
Re:.netでのtextbox
申し訳ないのですが追加で質問です
C++みたいにグローバル変数を宣言したいのですが
どこに書けばグローバル扱いになるのでしょうか?
int UndoCnt = 0;
array<String^>^ UndoString = gcnew array<String^>(UNDO_MAX);
上記の物をグローバル変数として使いたいです。
質問ばかりですみません。
C++みたいにグローバル変数を宣言したいのですが
どこに書けばグローバル扱いになるのでしょうか?
int UndoCnt = 0;
array<String^>^ UndoString = gcnew array<String^>(UNDO_MAX);
上記の物をグローバル変数として使いたいです。
質問ばかりですみません。
Re:.netでのtextbox
変数名からなんとなくやりたい事は推測できますが、グローバルにする必要は無いのでは?(^_^;)
おそらく、フォーム内でしか使わないでしょうから、フォームクラスのメンバとして追加してやればいいと思いますよ。
どうしても外部からのアクセスが必要であれば、publicにするか、アクセッサ(ゲッターもしくはセッター)からアクセスできるようにしてやればよいでしょう。
おそらく、フォーム内でしか使わないでしょうから、フォームクラスのメンバとして追加してやればいいと思いますよ。
どうしても外部からのアクセスが必要であれば、publicにするか、アクセッサ(ゲッターもしくはセッター)からアクセスできるようにしてやればよいでしょう。
Re:.netでのtextbox
> またメモ帳のようにテキストボックスにスクロールバーを付けたいです。
> どうにかしてできないでしょうか?
MSDN 見ればちゃんと載っていますが……。
MSDN: TextBox.ScrollBars プロパティ (System.Windows.Forms)
http://msdn.microsoft.com/ja-jp/library ... lbars.aspx
> どうにかしてできないでしょうか?
MSDN 見ればちゃんと載っていますが……。
MSDN: TextBox.ScrollBars プロパティ (System.Windows.Forms)
http://msdn.microsoft.com/ja-jp/library ... lbars.aspx
Re:.netでのtextbox
>>バグs
フォームクラスのメンバ~
これって何処にどうかけばよろしいのでしょうか?
private: System::Windows::Forms::int^ cnt;
と書いたら当たり前ですがエラーが起きました
>>Yuos
すみません・・・できました><
VC.netでの開発は初めてで
使っている本には載っていなかったので・・・
ありがとうございます
フォームクラスのメンバ~
これって何処にどうかけばよろしいのでしょうか?
private: System::Windows::Forms::int^ cnt;
と書いたら当たり前ですがエラーが起きました
>>Yuos
すみません・・・できました><
VC.netでの開発は初めてで
使っている本には載っていなかったので・・・
ありがとうございます
Re:.netでのtextbox
解決したようですが、C#で書いてみましたので参考になれば…
実は普段はC#.NETでコーディングしているので、こちらの方が慣れているんですよね(^_^;)
UndoMaxというプロパティの数値を変更すると、アンドゥできる回数が変更できます。
TextBoxを継承して作成してますので、他はTextBoxと同じ用に使用できます。
アンドゥ用の文字列は(アンドゥは後入れ先出しなので)Stackクラスへ格納しています。
実は普段はC#.NETでコーディングしているので、こちらの方が慣れているんですよね(^_^;)
UndoMaxというプロパティの数値を変更すると、アンドゥできる回数が変更できます。
TextBoxを継承して作成してますので、他はTextBoxと同じ用に使用できます。
アンドゥ用の文字列は(アンドゥは後入れ先出しなので)Stackクラスへ格納しています。
Re:.netでのtextbox
ご質問が3点御座います。
多くて申し訳ないのですが助けていただけますと幸いです。
A
タブのテキストをダブルクリック、もしくわF2変えられるようにしたいのですが、
ダブルクリックの取得方法を含め、どのように処理をすればよいかわかりません・・・
現在、画面右上にテキストボックスを配置しそこに文字をうち左上ファイルから
「タブ名を変換」をクリックしていただくと変わる仕様となっております。
これだと使わない人にとっては邪魔かと思います。
使うときにだけテキストボックスをダイアログみたい(F2を押すと直接?入力できるようになるでもOK)にでていただけると助かります。
説明が下手ですみません
何かアドバイスをいただけないでしょうか?
B
またUNDO機能なのですがTextBox本来のUNDOが先に働いてしまって
不具合が生じます。これを切ることはできないのでしょうか?
こちらについてもアドバイスを頂けますと助かります。
C
ファイルの保存のとき実行ファイルから見たフォルダの位置に保存する。
現在は"text_01"等と書いてあってexeと同じ場所に保存されてしまいます。
これをexeと同じディレクトリにあるSaveフォルダに入れたいです。
"Save\test_01.txt"と書いたらエラーは起こらないのですが保存するとエラーが起こります。
お忙しい中、ご確認よろしくお願いします。
多くて申し訳ないのですが助けていただけますと幸いです。
A
タブのテキストをダブルクリック、もしくわF2変えられるようにしたいのですが、
ダブルクリックの取得方法を含め、どのように処理をすればよいかわかりません・・・
現在、画面右上にテキストボックスを配置しそこに文字をうち左上ファイルから
「タブ名を変換」をクリックしていただくと変わる仕様となっております。
これだと使わない人にとっては邪魔かと思います。
使うときにだけテキストボックスをダイアログみたい(F2を押すと直接?入力できるようになるでもOK)にでていただけると助かります。
説明が下手ですみません
何かアドバイスをいただけないでしょうか?
B
またUNDO機能なのですがTextBox本来のUNDOが先に働いてしまって
不具合が生じます。これを切ることはできないのでしょうか?
こちらについてもアドバイスを頂けますと助かります。
C
ファイルの保存のとき実行ファイルから見たフォルダの位置に保存する。
現在は"text_01"等と書いてあってexeと同じ場所に保存されてしまいます。
これをexeと同じディレクトリにあるSaveフォルダに入れたいです。
"Save\test_01.txt"と書いたらエラーは起こらないのですが保存するとエラーが起こります。
お忙しい中、ご確認よろしくお願いします。
Re:.netでのtextbox
A:別のフォームクラスを作成して、F2が押された際にそのフォームを表示するとよいです。
B:前述の私のソースを御覧ください。かなり詳しくコメントしてありますので…。C#でもC++でも方法自体は同じです。
C:ApplicationクラスのStartupPathというプロパティが便利です。
B:前述の私のソースを御覧ください。かなり詳しくコメントしてありますので…。C#でもC++でも方法自体は同じです。
C:ApplicationクラスのStartupPathというプロパティが便利です。
Re:.netでのtextbox
おっと、1つ忘れてました。
ダブルクリック時のイベントの追加はリソースエディタから行えます。
イベントハンドラを追加したいコントロールにフォーカスを合わせて、プロパティウインドウの雷マークをクリックし、DoubleClickと書かれてあるところでダブルクリックするとハンドラが追加されます。
ダブルクリック時のイベントの追加はリソースエディタから行えます。
イベントハンドラを追加したいコントロールにフォーカスを合わせて、プロパティウインドウの雷マークをクリックし、DoubleClickと書かれてあるところでダブルクリックするとハンドラが追加されます。
Re:.netでのtextbox
バグ様
ご返答が遅くなり申し訳ありませんでした。
自分なりに書いてみたのですがやはりできませんでした。
A
新しいフォームの作成について調べてみたのですがイマイチやり方がわかりません。
2つのフォームが操作できる方法と片方しかできなくやり方があることぐらいまでは
何とか理解できました。
B
スタック型について調べ、
後入れ先出しという意味は理解できました。
ただ.net環境での開発は今回が初めてですので
C#のソースを読むことができません・・・。
折角わかりやすく書いていただいているのに申し訳ないです。
こちらについてパスの取得はできました。
しかし指定したフォルダがないとエラーが起こるので
この処理を入れる必要があるみたいです・・・。
ダブルクリックについてのイベントは追加できました><
ありがとうございます。
ご返答が遅くなり申し訳ありませんでした。
自分なりに書いてみたのですがやはりできませんでした。
A
新しいフォームの作成について調べてみたのですがイマイチやり方がわかりません。
2つのフォームが操作できる方法と片方しかできなくやり方があることぐらいまでは
何とか理解できました。
B
スタック型について調べ、
後入れ先出しという意味は理解できました。
ただ.net環境での開発は今回が初めてですので
C#のソースを読むことができません・・・。
折角わかりやすく書いていただいているのに申し訳ないです。
if(e->Control == true){ if(e->KeyCode == Keys::Z){ //Z this->UndoString[this->UndoCnt] = this->textBox[this->tabControl1->SelectedIndex]->Text; if(this->UndoCnt < UNDO_MAX){ this->UndoCnt++; } this->textBox[this->tabControl1->SelectedIndex]->Text = this->UndoString[this->UndoCnt]; }else if(e->KeyCode == Keys::Y){ //Y if(this->UndoCnt > 0){ this->UndoCnt--; }else{ } this->textBox[this->tabControl1->SelectedIndex]->Text = this->UndoString[this->UndoCnt]; } }C
こちらについてパスの取得はできました。
しかし指定したフォルダがないとエラーが起こるので
この処理を入れる必要があるみたいです・・・。
ダブルクリックについてのイベントは追加できました><
ありがとうございます。
Re:.netでのtextbox
Aについてちょっと作ってみました。
参考になりそうな所
ttp://msdn.microsoft.com/ja-jp/library/39wcs2dh(VS.80).aspx
ttp://msdn.microsoft.com/ja-jp/library/y2xxdce3(VS.80).aspx
参考になりそうな所
ttp://msdn.microsoft.com/ja-jp/library/39wcs2dh(VS.80).aspx
ttp://msdn.microsoft.com/ja-jp/library/y2xxdce3(VS.80).aspx
Re:.netでのtextbox
pookaさん
フォーム作れました><
ありがとうございます。
問題がまたでてきてしまいまして
フォーム2でTextboxで書いた内容をフォーム1に受け渡す時ってどうするのでしょうか?
this->とかは書けないですよね・・・externとかするのでしょうか?
Form2.h
フォーム1側のテキスト フォーム2側のアイテム
tabPage[this->tabControl1->SelectedIndex]->Text = this->nameTextBox->Text;
フォーム作れました><
ありがとうございます。
問題がまたでてきてしまいまして
フォーム2でTextboxで書いた内容をフォーム1に受け渡す時ってどうするのでしょうか?
this->とかは書けないですよね・・・externとかするのでしょうか?
Form2.h
フォーム1側のテキスト フォーム2側のアイテム
tabPage[this->tabControl1->SelectedIndex]->Text = this->nameTextBox->Text;
Re:.netでのtextbox
ゲッター、セッター、アクセッサ、プロパティ…辺りをキーワードにググってみてください。
逆に質問なのですが、VC++での開発は初めてだという事ですが、他の言語(といっても、VC++もC++ですけど…)の経験はありますか?
どうも、オブジェクト指向というか、クラスについて理解できていない印象を受けるのですが…
逆に質問なのですが、VC++での開発は初めてだという事ですが、他の言語(といっても、VC++もC++ですけど…)の経験はありますか?
どうも、オブジェクト指向というか、クラスについて理解できていない印象を受けるのですが…
Re:.netでのtextbox
いままでDOS上のCを扱ったことはあります。
その為、クラスという概念が理解できていません。(やってることはなんとなくわかります)
とある処理でつかう変数や関数をパッケージ化してるのですよね?
また以前はCOBOLで会計関係のシステムを作っておりました。
その為、若干とっつきにくいです。
その為、クラスという概念が理解できていません。(やってることはなんとなくわかります)
とある処理でつかう変数や関数をパッケージ化してるのですよね?
また以前はCOBOLで会計関係のシステムを作っておりました。
その為、若干とっつきにくいです。
Re:.netでのtextbox
すみません。
フォーム自体ののテキストは参照できました。
tabPage[this->tabControl1->SelectedIndex]->Text = nameForm->Text;
ただそのフォーム内のアイテムをかくとエラーになります。
tabPage[this->tabControl1->SelectedIndex]->Text = nameForm->nameTextBox->Text;
フォーム自体ののテキストは参照できました。
tabPage[this->tabControl1->SelectedIndex]->Text = nameForm->Text;
ただそのフォーム内のアイテムをかくとエラーになります。
tabPage[this->tabControl1->SelectedIndex]->Text = nameForm->nameTextBox->Text;
Re:.netでのtextbox
あぁ、なるほど、それでですか。
えっと、ちょっと回答が前後しますが、UndoTextBoxをVC++で書き直してみました。
コンポーネントクラスとして書いていますので、コンポーネントクラスの追加の仕方から説明しておきます。
1:VisualStudio2005を起動する
2:プロジェクトを読み込む
3:ツールバーの「プロジェクト」をクリックする
4:「新しい項目の追加」をクリックする
5:「コード」をクリックする
6:「コンポーネントクラス」をクリックする
7:「ファイル名」を適当に入力する(UndoTextBoxとか)
8:「追加」をクリックする
これでコンポーネントクラスが追加されますので、追加されたファイルへ添付ファイルの中身をコピーしてください。
これで一度ビルドすれば、リソースエディタからUndoTextBoxを貼り付けることが出来るようになります。
うーん、VC++.NETは面倒ですね。C#やVBの方が分かり易いんじゃないかなぁ?
えっと、ちょっと回答が前後しますが、UndoTextBoxをVC++で書き直してみました。
コンポーネントクラスとして書いていますので、コンポーネントクラスの追加の仕方から説明しておきます。
1:VisualStudio2005を起動する
2:プロジェクトを読み込む
3:ツールバーの「プロジェクト」をクリックする
4:「新しい項目の追加」をクリックする
5:「コード」をクリックする
6:「コンポーネントクラス」をクリックする
7:「ファイル名」を適当に入力する(UndoTextBoxとか)
8:「追加」をクリックする
これでコンポーネントクラスが追加されますので、追加されたファイルへ添付ファイルの中身をコピーしてください。
これで一度ビルドすれば、リソースエディタからUndoTextBoxを貼り付けることが出来るようになります。
うーん、VC++.NETは面倒ですね。C#やVBの方が分かり易いんじゃないかなぁ?
Re:.netでのtextbox
バグさん
お忙しい中、ありがとうございます。
なんとかUNDOについて、できました><
UNDO機能もMAXをいじり調整ができました。
本当に助かります。
お忙しい中、ありがとうございます。
なんとかUNDOについて、できました><
UNDO機能もMAXをいじり調整ができました。
本当に助かります。
Re:.netでのtextbox
連レスすみません。
>>フォーム自体ののテキストは参照できました。
>>tabPage[this->tabControl1->SelectedIndex]->Text = nameForm->Text;
>>ただそのフォーム内のアイテムをかくとエラーになります。
>>tabPage[this->tabControl1->SelectedIndex]->Text = nameForm->nameTextBox->Text;
こちらのエラーコードを書かせていただきます。
1>c:\documents and settings\hayato\デスクトップ\コピー ~ コピー ~ kanadememo\kanadememo\Form1.h(402) : error C2248: 'Sample::Form2::nameTextBox' : private メンバ (クラス 'Sample::Form2' で宣言されている) にアクセスできません。
1> c:\documents and settings\hayato\デスクトップ\コピー ~ コピー ~ kanadememo\kanadememo\Form2.h(45) : 'Sample::Form2::nameTextBox' の宣言を確認してください。
1> c:\documents and settings\hayato\デスクトップ\コピー ~ コピー ~ kanadememo\kanadememo\Form2.h(22) : 'Sample::Form2' の宣言を確認してください。
>>フォーム自体ののテキストは参照できました。
>>tabPage[this->tabControl1->SelectedIndex]->Text = nameForm->Text;
>>ただそのフォーム内のアイテムをかくとエラーになります。
>>tabPage[this->tabControl1->SelectedIndex]->Text = nameForm->nameTextBox->Text;
こちらのエラーコードを書かせていただきます。
1>c:\documents and settings\hayato\デスクトップ\コピー ~ コピー ~ kanadememo\kanadememo\Form1.h(402) : error C2248: 'Sample::Form2::nameTextBox' : private メンバ (クラス 'Sample::Form2' で宣言されている) にアクセスできません。
1> c:\documents and settings\hayato\デスクトップ\コピー ~ コピー ~ kanadememo\kanadememo\Form2.h(45) : 'Sample::Form2::nameTextBox' の宣言を確認してください。
1> c:\documents and settings\hayato\デスクトップ\コピー ~ コピー ~ kanadememo\kanadememo\Form2.h(22) : 'Sample::Form2' の宣言を確認してください。
Re:.netでのtextbox
あ、よく読んでなかった…失礼しました。
Form2のnameTextBoxというオブジェクトはprivate属性ですので、Form2クラス内でしか参照できません。
ですので、外部クラス(今回の場合はForm1かな?)からアクセスできるnameTextBoxのTextを取り出す為の関数(これが先に書き込みしたアクセッサとかゲッターと呼ばれるものです)を作ってやらなければいけません。
例えば…ですが、Form2内にpublic属性で
public: String^ GetTextBoxText()
{
return nameTextBox->Text;
}
みたいな関数を作成して、この関数を介してテキストボックスに入力された文字列を取り出してみては如何でしょうか?
Form2のnameTextBoxというオブジェクトはprivate属性ですので、Form2クラス内でしか参照できません。
ですので、外部クラス(今回の場合はForm1かな?)からアクセスできるnameTextBoxのTextを取り出す為の関数(これが先に書き込みしたアクセッサとかゲッターと呼ばれるものです)を作ってやらなければいけません。
例えば…ですが、Form2内にpublic属性で
public: String^ GetTextBoxText()
{
return nameTextBox->Text;
}
みたいな関数を作成して、この関数を介してテキストボックスに入力された文字列を取り出してみては如何でしょうか?