Visual C# 2008 を使っています。
子フォームのテキストボックスに書かれた内容を、子フォーム上のボタンを押すことで、親フォームのリストボックスに追加する。
といったプログラムを作成しているところです。
しかし、子フォーム上のボタンのクリックイベントハンドラの中に、
親フォームのリストボックスへ内容を追加するプログラムを書くと、「現在のコンテキスト内には存在しません」とエラーが出てきます。
試してみたことは
・子フォームのコントロールをprivateからpublicに変えた
・子フォーム内から親フォームを参照するためのポインタを指定
・子フォームの定義部に親フォーム参照のためのポインタを指定
です。
誰か解決策を教えていただけないでしょうか?
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
>子フォームのテキストボックスに書かれた内容を、子フォーム上のボタンを押すことで、親フォームのリストボックスに追加する。
単純にこれを実現したプログラムを作ってみました。
主な処理部分だけ以下に抜粋してあります。
参考になれば良いのですが。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Form2 f2 = new Form2(listBox1);
f2.Show(this);
}
}
public partial class Form2 : Form
{
private ListBox ownerlb;
public Form2(ListBox lb)
{
InitializeComponent();
ownerlb = lb;
}
private void button1_Click(object sender, EventArgs e)
{
ownerlb.Items.Add(textBox1.Text);
}
}
この回答への補足
たびたびすみません。
2つのリストボックスを親フォームのテキストボックス2つ(textbox1,textbox2)にそれぞれ追加しようと思い、
Form2 f2 = new Form2(listBox1);
Form2 f2 = new Form2(listBox2);
のように記述するとエラーがでました。
1つだけでなく、複数の場合はどう記述したらよいのでしょうか??
解決しました!
ownerlbを知らなかったので、勉強になりました。
あと、インスタンスの引数内にコントロール名(?)を入れることも知らなかったので、まだまだ知らないことばかりだと実感しました。
ご回答本当にありがとうございました!!
No.5
- 回答日時:
No.4
- 回答日時:
まずはお役にたてたようで何よりです。
>2つのリストボックスを親フォームのテキストボックス2つ(textbox1,textbox2)にそれぞれ追加しようと思い、
>
>Form2 f2 = new Form2(listBox1);
>Form2 f2 = new Form2(listBox2);
>
>のように記述するとエラーがでました。
ご質問の文章は
・親フォームに2つのリストボックスを追加する
・子フォームを2つにし、それぞれのテキストボックスの内容を上記リストボックスに反映させる
と解釈してよろしいでしょうか?
上の記述では、同じ変数f2を2回定義しているのでエラーが発生しているのだと思います。なので変数名を変えてやれば解決します。
public Form1()
{
InitializeComponent();
Form2 f2_1 = new Form2(listBox1);
Form2 f2_2 = new Form2(listBox2);
f2_1.Show(this);
f2_2.Show(this);
}
ご回答ありがとうございます。
質問文がつたない文章ですみません><
変数名を変えることで実行できました。
ありがとうございました!!
No.3
- 回答日時:
ダウンロードして実行してみたところ、無事解決できました。
引数にコントロールを入れるという考えがまだなかったので、勉強になりました。C#もっと勉強しますw
ご回答本当にありがとうございました!!
No.2
- 回答日時:
下記URL参照。
C++/CLIですが、わからんことはないでしょう。
参考URL:http://cid-07c558f8e11e708f.skydrive.live.com/se …^_interaction.zip
visualC++で実行してみたところ、確かに私のやりたいことが実行できました。
C++も勉強したいと思っていたので、今後の参考にさせていただきます。
ご回答本当にありがとうございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VB.net フォーム 親子 1 2022/07/04 19:00
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- JavaScript ソースコードは下の共有コードサイト「張り紙」にあります。 入力フォームの javascript で 1 2022/05/11 11:01
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- Access(アクセス) アクセス 意図せずサブプロシージャを移動してしまうのを止めたい 1 2022/09/02 09:19
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- Access(アクセス) Dlookupにエラーがでてしまう 1 2022/10/31 14:35
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザーフォーム上にアイコン...
-
サブフォームの行ごとにコンボ...
-
VB.net(VB)で、フォームにExcel...
-
Google form を利用して 問い合...
-
子フォームから親フォームのオ...
-
ASP.NETとC#でWebフォームを呼...
-
Accessでフォームから別フォー...
-
Googleフォーム・複数人の申し...
-
ディスプレイ解像度より大きな...
-
ToolStripStatusLabelを固定し...
-
VBAにてメッセージボックスを最...
-
メッセージボックスの背景色
-
[C#]別フォームとの連動について
-
フォーム上の全てのコントロー...
-
デロンギのオーブンが故障して...
-
ACCESS 表形式フォームで1レ...
-
PDFフォームに本日の日付を自動...
-
access開いているフォームのモ...
-
ExcelVBAでフォーム内でブック...
-
Accessでの顧客管理フォームを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAにてメッセージボックスを最...
-
リストボックスの選択解除
-
Googleフォーム・複数人の申し...
-
サブフォームの新規レコードに...
-
Accessでフォームから別フォー...
-
メッセージボックスの背景色
-
PDFフォームに本日の日付を自動...
-
accessで2つ以上のフォームを起...
-
VB.net(VB)で、フォームにExcel...
-
筋トレ初心者です。 ジムでひた...
-
Access 無操作の場合、自動で閉...
-
サブフォームのイベント取得
-
サブフォームの行ごとにコンボ...
-
VBプログラムの終了
-
ユーザーフォーム上にアイコン...
-
アクセスVBA フォームのス...
-
ディスプレイ解像度より大きな...
-
PDFフォーム内で日付計算したい...
-
フォーム上の全てのコントロー...
-
VBAでフォームのスクロールバー...
おすすめ情報