
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を探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C# 自分自身のコントロールを指...
-
VB6においてのフォームの移動
-
VC++フォームアプリケーション ...
-
グラフの交点の求め方(Excel)
-
Minecraft 統合版(PC)の描画距...
-
コントロールの書式設定で、“コ...
-
エクセルで作った新しいウイン...
-
WINAPI 他のウインドウを重ね...
-
pygameで画像を描画する方法を...
-
TreeView表示がおかしいです。
-
リッチテキストのフォント
-
表示する方法
-
Paint Shop Pro で
-
勝手にウィンドウが開いて止ま...
-
仮想メモリが移動できない
-
リストコントロールの文字の大...
-
ウインドウが閉じたことを知る方法
-
ExcelVBA上で特定の座標への画...
-
PCで細かな目盛りを作図する方...
-
「アイテムは収集されました」...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【C#】別フォームも同時に閉じ...
-
C# フォームを閉じてもプログラ...
-
C#で、ある条件でFormが自動で...
-
C# 自分自身のコントロールを指...
-
OutLookのメール受信通知 (C#)
-
C# FlowLayoutPanelのコントロ...
-
【C#】サブフォームからメイン...
-
VC++フォームアプリケーション ...
-
C#でテキストボックスをクリッ...
-
ASP.NetでJavaScriptからポスト...
-
別フォームからdatagridviewの削除
-
C#で初歩で引っかかってしまい...
-
VB6においてのフォームの移動
-
エクセルで作った新しいウイン...
-
コントロールの書式設定で、“コ...
-
「アイテムは収集されました」...
-
グラフの交点の求め方(Excel)
-
コンボボックス内の文字サイズ変更
-
Minecraft 統合版(PC)の描画距...
-
エクセルのコントロールツール...
おすすめ情報