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

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

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

form参照

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

■85937 / inTopicNo.1)  form参照
  
□投稿者/ 初心男 (1回)-(2017/12/04(Mon) 18:20:31)

分類:[.NET 全般] 

初めまして、まだまだ始めたばっかの初心者です
教えてください


form1の値をform2で表示させるとき

form1

テキストボックスが入力する値

ボタンイベントでform2をshow()



form2
form2にもボタン

ボタンイベントの所に
label1.text = form1.textbox1.text

と書くとできましたが
これだと親フォームから子フォームへ受け渡すのでなく
子が参照しているため、親が子へ受け渡すのがやりたいのですが
それができません

引数でのやり方を教えてください


Form1

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim f2 as Form2
f2 = New Form2()
f2.show(Me.textbox1.text)


Form2


public sub Ovaloads str(recive as string)
labll1.text = recive
str.show()
End sub


みたいな感じでやってみましたが
だめです
そもそも、インスタンスや引数が理解できてない現状です
詳しく教えていただけると嬉しいです

よろしくお願い致します。




引用返信 編集キー/
■85938 / inTopicNo.2)  Re[1]: form参照
□投稿者/ WebSurfer (1391回)-(2017/12/04(Mon) 18:53:28)
No85937 (初心男 さん) に返信

何を作っているのか(Windows Forms?, ASP.NET Web Forms? WPF? その他?)と開発環境(使用
言語, OS, .NET, Visual Studio のバージョンなど)を書いてください。

作っているのは Windows Forms、言語は VB.NET らしいということは本文を読めばなんとなくわ
かりますが質問の一行目に書いてください。
引用返信 編集キー/
■85939 / inTopicNo.3)  Re[2]: form参照
□投稿者/ 初心男 (1回)-(2017/12/04(Mon) 18:56:40)
2017/12/04(Mon) 19:04:28 編集(投稿者)

No85938 (WebSurfer さん) に返信
> ■No85937 (初心男 さん) に返信
>
> 何を作っているのか(Windows Forms?, ASP.NET Web Forms? WPF? その他?)と開発環境(使用
> 言語, OS, .NET, Visual Studio のバージョンなど)を書いてください。
>
> 作っているのは Windows Forms、言語は VB.NET らしいということは本文を読めばなんとなくわ
> かりますが質問の一行目に書いてください。

申し訳ないです
言語 VB.net
OS Windows
フォーム WindowsForms 
開発環境 Visual Srtadio 2013です。
引用返信 編集キー/
■85940 / inTopicNo.4)  Re[1]: form参照
□投稿者/ 魔界の仮面弁士 (1491回)-(2017/12/04(Mon) 19:50:58)
No85937 (初心男 さん) に返信
> f2 = New Form2()
> f2.show(Me.textbox1.text)

上記のコードは、「Form2 クラスの Show メソッド」に対して、
引数として「String 値」を渡そうとしているわけですよね。

その場合、Form2 側の実装はこうなります。

Public Class Form2
 Public Overloads Sub Show(ByVal receive As String)
  label1.Text = receive
  MyBase.Show()
 End Sub
End Class


あるいは、呼び出し元(Form1 側)での指定方法を
 f2 = New Form2(Me.TextBox1.Text)
 f2.Show()
もしくは
 f2 = New Form2(Me.TextBox1.Text)
 f2.Show(Me)
などとしたい場合は、Form2 側がこうなります。


Public Class Form2
 Public Sub New()
  InitializeComponent()
 End Sub

 Public Sub New(ByVal receive As String)
  Me.New()
  Label1.Text = receive
 End Sub
End Class
引用返信 編集キー/
■85941 / inTopicNo.5)  Re[3]: form参照
□投稿者/ WebSurfer (1392回)-(2017/12/04(Mon) 19:57:41)
No85939 (初心男 さん) に返信

> 言語 VB.net
> OS Windows
> フォーム WindowsForms 
> 開発環境 Visual Srtadio 2013です。

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

ただ、OS はそのバージョン(Windows 7 とか Windows 10 とか)が重要です。あと、NET Framework
のバージョン(2.0 とか 4.5 とか)もそれによって答えが違ってくる場合もありますので、次回は
書いていただくようよろしくお願いします。


> form2
> form2にもボタン
>
> ボタンイベントの所に
> label1.text = form1.textbox1.text
>
> と書くとできましたが
> これだと親フォームから子フォームへ受け渡すのでなく
> 子が参照しているため、親が子へ受け渡すのがやりたいのですが
> それができません

そのあたり意味が理解できていませんが、方法はともかくやりやいことはできたということでいいので
すよね?

form1 の TextBox にユーザーが入力した文字列を form2 のボタンクリックで form2 の Label に表示
するということなら、それが普通というかベストだと思うのですが、何が問題なのでしょう?

> 引数でのやり方を教えてください

それも意味が分かりません。

form1 のボタンクリックで form2 を表示するとき、同時に form2 の Label に form1 の TextBox の
内容を表示したいということですか?
引用返信 編集キー/
■85953 / inTopicNo.6)  Re[2]: form参照
□投稿者/ 初心男 (2回)-(2017/12/05(Tue) 14:05:26)
No85940 (魔界の仮面弁士 さん) に返信
> ■No85937 (初心男 さん) に返信

ありがとうございます
理解できました
まだまだ勉強不足です・・・
引用返信 編集キー/

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


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

このトピックに書きこむ