
表題の件がうまくできず、困っています。
やりたいことは
親フォームのリストボックスで選択した
インデックス番号をshouDialog()で立ち上げた子フォーム側の
textBoxに表示したいんですが、
何も表示されず困っています。
namespace test
{
public partial class Form1 : Form
{
//リスト変数
public string listChoise;
[STAThreadAttribute]
static void Main()
{
Application.Run(new Form1());
}
public Form1()
{
InitializeComponent();
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
listChoise = listBox1.SelectedIndex.ToString();
MessageBox.Show(listChoise);//←ここでは値がでます
}
private void button1_Click(object sender, EventArgs e)
{
//子フォームを立ち上げる
Form2 form = new Form2();
form.ShowDialog();
}
}
}
↓Form2クラス
namespace test
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
//リスト選択変数
Form1 list = new Form1();
textBox2.Text = list.listChoise;
}
}
}
この二つのクラスです。
とくにエラーはありません。
ちなみに
>>>//リスト変数
>>>public string listChoise;
の部分を
public string listChose = "aaaaa";
としておくと、
子フォームのテキストボックスに"aaaaa"と表示されているようなんですが、
>>>listChoise = listBox1.SelectedIndex.ToString();
の値がちゃんと子フォームの方で受け取れていないようです。
結果はなにもひょうじされません。
子フォームの方で、
MessageBox.Show("listChoise");をしても
何も表示されません。
どんな原因が考えられますでしょうか。
よろしくお願いします。
環境:visualC# 2008 Express Edition
No.1ベストアンサー
- 回答日時:
子ダイアログから 親をアクセスしたいなら その親を取得する方法を指定しましょう
子ダイアログを表示(実行)する前に 親側から子側にデータを受け渡すなら
子側に フィールド準備しておいてそのフィールド設定してから ShowDialogを実行する
たとえな Form2側に
public string myEditData;
といったフィールドを準備して
Form2 form = new Form2();
frm.myEditData = listChoise;
form.ShowDialog();
などとして実行
Form2のLoadイベントで
textBox2.Text = myEditString;
といった具合に初期化する
--------------------------------
子側から親にアクセスするなら
frm.ShowDialog( this );
といった具合に親のオブジェクトを渡す
子側のLoadイベントで
textBox2.Text = ((Form1)this.Owner).listChoise;
といった具合に初期化してみましょう
ご回答ありがとうございました。
初期化がしっかりとできていないみたいでした。
Loadイベントに初期化しなければならたかったんですね。
無事値が取得できました。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- C言語・C++・C# PC画面を録画するプログラムでdllの読み込みエラー 1 2023/04/22 08:31
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
大量のデータを読み込んで表示...
-
Junitテストでvoid戻り値メッソ...
-
親ウインドウから子ウインドウへの引数...
-
次のVB.netのコードをC#で書く...
-
文字コードチェックについて
-
C#でキーイベントが発生しない...
-
C#からVC++DLLの呼び出しに失敗...
-
C#から、C++で作成したdll内の...
-
なぜエラーになるのかがわかり...
-
スレッドについて
-
C# のクラスメンバーへのアクセス
-
Runtime#proccessのwait
-
C# バイナリダンプを構造体に簡...
-
参照されない
-
jCheckBoxの動作について。
-
C# visibleプロパティをfalseに...
-
ボタンの複数割り当てについて
-
iPadOS 16 Developer betaとiPa...
-
PSVMSA
-
なぜ、clickイベントが起こって...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
大量のデータを読み込んで表示...
-
C#で、あるクラスのメンバーす...
-
C# visibleプロパティをfalseに...
-
C#でのWNetAddConnection3の使...
-
C# DataGridView列カスタマイズ
-
C# MouseHoverを何度も呼ぶには
-
C#でキーイベントが発生しない...
-
Junitテストでvoid戻り値メッソ...
-
C# WinForm のDataGridView Cel...
-
ボタンの複数割り当てについて
-
ユーザーコントロールを動的に...
-
ボタンのイベントで異なるウィ...
-
LVM_SETITEMSTATEでListViewの...
-
c# スレッド間でのデータの共有
-
C#,listBoxのItem追加について...
-
unityでのC++エラーの原因がわ...
-
C# 矢印キーの取得
-
JavaFXでの表内のチェックボッ...
-
C# 半角カナの文字化けについて
-
C#で別のFormへ複数の値を返そ...
おすすめ情報