アプリ版:「スタンプのみでお礼する」機能のリリースについて

Visual C# 2008 を使っています。

子フォームのテキストボックスに書かれた内容を、子フォーム上のボタンを押すことで、親フォームのリストボックスに追加する。

といったプログラムを作成しているところです。

しかし、子フォーム上のボタンのクリックイベントハンドラの中に、
親フォームのリストボックスへ内容を追加するプログラムを書くと、「現在のコンテキスト内には存在しません」とエラーが出てきます。

試してみたことは
・子フォームのコントロールをprivateからpublicに変えた
・子フォーム内から親フォームを参照するためのポインタを指定
・子フォームの定義部に親フォーム参照のためのポインタを指定
です。

誰か解決策を教えていただけないでしょうか?
よろしくお願いします。

A 回答 (5件)

>子フォームのテキストボックスに書かれた内容を、子フォーム上のボタンを押すことで、親フォームのリストボックスに追加する。



単純にこれを実現したプログラムを作ってみました。
主な処理部分だけ以下に抜粋してあります。
参考になれば良いのですが。

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つだけでなく、複数の場合はどう記述したらよいのでしょうか??

補足日時:2009/12/26 14:23
    • good
    • 0
この回答へのお礼

解決しました!
ownerlbを知らなかったので、勉強になりました。
あと、インスタンスの引数内にコントロール名(?)を入れることも知らなかったので、まだまだ知らないことばかりだと実感しました。

ご回答本当にありがとうございました!!

お礼日時:2009/12/26 13:49

既出の感じがありますが、参考にどうぞ。



http://www.oborodukiyo.info/Forms/VS2008/F-PassD …
    • good
    • 0
この回答へのお礼

ありがとうございました!
参考になりました。

お礼日時:2010/01/08 08:55

まずはお役にたてたようで何よりです。



>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);
 }
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

質問文がつたない文章ですみません><
変数名を変えることで実行できました。

ありがとうございました!!

お礼日時:2009/12/28 19:02

回答番号1のソース一式


http://www1.axfc.net/uploader/Sc/so/67264

外部のアップローダーで申し訳ないですが、書庫ファイルの添付が出来ないのであしからず。
    • good
    • 0
この回答へのお礼

ダウンロードして実行してみたところ、無事解決できました。

引数にコントロールを入れるという考えがまだなかったので、勉強になりました。C#もっと勉強しますw

ご回答本当にありがとうございました!!

お礼日時:2009/12/26 13:44

下記URL参照。


C++/CLIですが、わからんことはないでしょう。

参考URL:http://cid-07c558f8e11e708f.skydrive.live.com/se …^_interaction.zip
    • good
    • 0
この回答へのお礼

visualC++で実行してみたところ、確かに私のやりたいことが実行できました。
C++も勉強したいと思っていたので、今後の参考にさせていただきます。

ご回答本当にありがとうございました!!

お礼日時:2009/12/26 13:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!