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

わんくま同盟

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

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


■85954 / )  構造体でのform2にform1からもらう
□投稿者/ PJ (1回)-(2017/12/05(Tue) 14:21:48)

分類:[.NET 全般] 

初めまして、今悩んでて助言をください

開発言語Vb.net
windows Forms

’変数の意味、宣言等は割愛

Form1側
  Private Sub Inspection_form()
         Dim inpe As New Inspection_form.Main
        inpe.finishedproduct = finishedproduct
        inpe.Rec = TextBox1.Text
        inpe.pass_2 = pass
        inpe.Log_List = log
        inpe.My_Config = My_system_F
        inpe.My_Use = My_system_U

        check_form = New Inspection_form
        check_form.Show(Inte_use)

Form2側
   Public Structure Main_Recive
        Public finishedproduct As String() 
        Public Rec As String 
        Public Log_List As ListBox 
        Public pass_2 As String() 
        Public My_Config As String 
        Public My_Use As String 
    End Structure


 Public Overloads Sub show(Main_Recive As Main_470)
        
        proda_name.Text = Main_Recive.Rec

        'ボタン
        B = New Button() {Check_bt, stop_bt, Call_bt, end_bt}
        Dim n As String() = File.ReadAllLines(Main_Recive.My_Config & Main_Recive.pass_2(5), enco)
        B(0).Text = n(7)
        B(1).Text = n(8)
        B(2).Text = n(9)
        B(3).Text = n(10)
        'ラベル
        L = New Label() {Cut_timer}
        Dim n2 As String() = File.ReadAllLines(Main_Recive.My_Config & Main_Recive.pass_2(6), enco)
        For i As Integer = 0 To L.Length - 1
            L(i).Text = n2(i)
        Next
        'PDF Load時
        Dim s As Integer = Array.IndexOf(Main_Recive.finishedproduct, proda_name.Text)
        Dim a As String() = Directory.GetFiles(Main_Recive.My_Use & "\" & Main_Recive.finishedproduct(s))
        PDF.LoadFile(a(0))

        show()

1側の変数には配列なり、コントロールなりを設定
showしたときに引数を使いForm2呼び出し時の表示はできたのですが


Form2側でのボタンイベントでの引数が上手くいきません

Private Sub next_Cl_Click(sender As Object, e As EventArgs) Handles next_Cl.Click
        Dim rec As New Main_470
        next_pro(rec)
    End Sub

’クリックイベントでnext_proプロシージャーを呼び出し、構造体の引数付
    Private Sub next_pro(c As Main_470)
        Dim i As Integer = Array.IndexOf(c.finishedproduct, proda_name.Text)
        Dim a As String() = Directory.GetFiles(c.My_Use & c.finishedproduct(i))
        number = number + 1
        PDF.LoadFile(a(number))
    End Sub

クリックイベントで構造体の型をNewしなければ引数として使えないので
インスタンスしますが初期化するので
保持出きていないので、Nothingなります

構造体の使いたが間違っているのか?
最近構造体をやり始めてていまいち理解できてないのか
詳しく教えてください。





返信 編集キー/


管理者用

- Child Tree -