C#でテキストボックスをクリック→フォームが開く→フォームで設定した値を元のテキストボックスに入力
こんな感じのことをC#でやりたいのですがよくわからないので教えてください。
1. 親をForm1、子をForm2とします
2. Form1のTextBox1をクリックするとForm2が開いきます
3. Form2で設定した値をForm2の「入力」ボタンを押すとForm2が閉じてTextBox1に値が入力されます
というものです。
ここで、textBoxは「クリックしたコントロール名を取得してForm2に渡したい」のです。
テキストボックスがたくさんあるので、textBox1とか決まった名前ではありません。
この部分がわからないのです。
-------------------------------------------------------
Form1:
private void textBox1_Click(object sender, EventArgs e)
{
Form2 fromItem = new Form2(sender);
DialogResult deRet = fromItem.ShowDialog();
}
Form2:
public Form2(object sender)
{
InitializeComponent();
object pSender = sender;
}
private void button_input_Click(object sender, EventArgs e)
{
((System.Windows.Forms.TextBox)pSender).text = "hoge";
}
-------------------------------------------------------
この程度しかわかりません。
正しい方法を教えてください。よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
Form2の側を少し直します。
object pSender; // 追加
public Form2(object sender)
{
InitializeComponent();
pSender = sender; // 追加
//object pSender = sender; // 削除。これだとpSenderが他から見れません
}
private void button_input_Click(object sender, EventArgs e)
{
// textじゃなくてText
((System.Windows.Forms.TextBox)pSender).Text = "hoge";
//以下は追加で試してみました。
//MessageBox.Show(((System.Windows.Forms.TextBox)pSender).Name);
//MessageBox.Show(((System.Windows.Forms.TextBox)pSender).Parent.Name);
//this.Close();
}
ありがとうございます。
>pSender = sender; // 追加
こうすると「名前'pSender'は現在のコンテキスト内に存在しません」というエラーが出てしまいます…。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C#でテキストボックスをクリッ...
-
C# 自分自身のコントロールを指...
-
【C#】別フォームも同時に閉じ...
-
エクセルで作った新しいウイン...
-
グラフの交点の求め方(Excel)
-
コントロールの書式設定で、“コ...
-
「アイテムは収集されました」...
-
コンボボックス内の文字サイズ変更
-
エクセルのコントロールツール...
-
デスクトップ上のアイコンの位...
-
マインクラフト(pc版)で座標...
-
DateTimePickerでに年月までし...
-
ドロップダウンリストのフォン...
-
検索の画面がでなくなってしま...
-
JakaraPOI セル内部のフォント...
-
ラジオボタンの初期指定
-
エクセルである点からの距離で...
-
VB.NET2005 TextBox 高さ(Heig...
-
クリスタルレポートからPDFを作...
-
キーボード・フックのアプリを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C#で、ある条件でFormが自動で...
-
【C#】別フォームも同時に閉じ...
-
C# 自分自身のコントロールを指...
-
C# フォームを閉じてもプログラ...
-
C# FlowLayoutPanelのコントロ...
-
C#でテキストボックスをクリッ...
-
別フォームからdatagridviewの削除
-
form2 から form1に戻ったとき...
-
c#で次の次のフォームへのデー...
-
ASP.NetでJavaScriptからポスト...
-
OutLookのメール受信通知 (C#)
-
【C#】サブフォームからメイン...
-
コンボボックスのイベントについて
-
エクセルで作った新しいウイン...
-
グラフの交点の求め方(Excel)
-
「アイテムは収集されました」...
-
コントロールの書式設定で、“コ...
-
コンボボックス内の文字サイズ変更
-
エクセルのコントロールツール...
-
VBAのフォント変更(エクセルか...
おすすめ情報