C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ユーザーコントロール

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■84765 / inTopicNo.1)  ユーザーコントロール
  
□投稿者/ 安川 (1回)-(2017/08/01(Tue) 18:47:53)

分類:[C#] 

初めての投稿です。よろしくお願いします。

今、Windows8.1のVisual C# 2015 Expressでユーザーコントロールを作成しています。
ユーザーコントロール自体の作成は出来ています。
その作成したユーザーコントロールをMainFormに貼り付け、ユーザーコントロールからMainFormにデータを送ろうとしています。

ユーザーコントロールとMainFormにそれぞれTextBoxを配置し、
ユーザーコントロールのTextBoxのTextChangeイベントで、テキストが変化した時にMainFormのTextBoxにそれを表示させるつもりですが、これが出来ません。
逆にMainFormからUserControlへのデータ送信は出来ています。
下記がそのコードです。

<mainForm>
public string str
{
get { return textBox1.Text; }
}

private void textBox1_TextChanged(object sender, EventArgs e)
{
userControl11.str = str;
}

<UserControl>
public string str
{
set { textBox1.Text = value; }
}

この逆のコードを書けばいけると考えて試行錯誤中ですが、全くの初心者なので上手く出来ません。
何かアドバイスがあればご指摘下さい。

引用返信 編集キー/
■84767 / inTopicNo.2)  Re[1]: ユーザーコントロール
□投稿者/ PANG2 (186回)-(2017/08/01(Tue) 19:01:32)
> この逆のコードを書けばいけると考えて試行錯誤中ですが、全くの初心者なので上手く出来ません。

<UserControl>
public string str
{
get { return textBox1.Text; }
}

private void textBox1_TextChanged(object sender, EventArgs e)
{
((mainForm)ParentForm).str = str;
}

<mainForm>
public string str
{
set { textBox1.Text = value; }
}

引用返信 編集キー/
■84771 / inTopicNo.3)  Re[2]: ユーザーコントロール
□投稿者/ 安川 (2回)-(2017/08/01(Tue) 19:54:36)
No84767 (PANG2 さん) に返信
>>この逆のコードを書けばいけると考えて試行錯誤中ですが、全くの初心者なので上手く出来ません。
>
> <UserControl>
> public string str
> {
> get { return textBox1.Text; }
> }
>
> private void textBox1_TextChanged(object sender, EventArgs e)
> {
> ((mainForm)ParentForm).str = str;
> }
>
> <mainForm>
> public string str
> {
> set { textBox1.Text = value; }
> }
>

PANG2さん 早速の返信有難うございます。
そのコードを試したところ、バッチリ出来ました!
((mainForm)ParentForm).str = str がポイントだったんですね!

ユーザーコントロールにツリービューとlistBoxを実装し、ファイルを選択するところまでは出来ています。
この選択ファイルのフルパスをどうやってMainFormに送るかで悩んでいました。
おかげさまで最大の難関を突破出来ました!

解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ