module 
use System%Windows%Forms
use System
implicit none

type,extends(System%Windows%Forms%Form), namespace(WindowsApplication2) :: Form1
    type(System%Windows%Forms%Button),private ,pointer :: button1
    type(System%Windows%Forms%GroupBox),private ,pointer :: groupBox1
    type(System%Windows%Forms%Label),private ,pointer :: label13
    type(System%Windows%Forms%TextBox),private ,pointer :: textBox13
    type(System%Windows%Forms%TextBox),private ,pointer :: textBox14
    type(System%Windows%Forms%TextBox),private ,pointer :: textBox15
    type(System%Windows%Forms%TextBox),private ,pointer :: textBox16
    type(System%Windows%Forms%TextBox),private ,pointer :: textBox17
    type(System%Windows%Forms%TextBox),private ,pointer :: textBox18
    type(System%Windows%Forms%TextBox),private ,pointer :: textBox19
    type(System%Windows%Forms%TextBox),private ,pointer :: textBox20
    type(System%Windows%Forms%TextBox),private ,pointer :: textBox21
    type(System%Windows%Forms%TextBox),private ,pointer :: textBox22
    type(System%Windows%Forms%TextBox),private ,pointer :: textBox23
    type(System%Windows%Forms%TextBox),private ,pointer :: textBox24
    type(System%Windows%Forms%Label),private ,pointer :: label14
    type(System%Windows%Forms%Label),private ,pointer :: label15
    type(System%Windows%Forms%Label),private ,pointer :: label16
    type(System%Windows%Forms%Label),private ,pointer :: label17
    type(System%Windows%Forms%Label),private ,pointer :: label18
    type(System%Windows%Forms%Label),private ,pointer :: label19
    type(System%Windows%Forms%Label),private ,pointer :: label20
    type(System%Windows%Forms%Label),private ,pointer :: label21
    type(System%Windows%Forms%Label),private ,pointer :: label22
    type(System%Windows%Forms%Label),private ,pointer :: label23
    type(System%Windows%Forms%Label),private ,pointer :: label24
    type(System%Windows%Forms%GroupBox),private ,pointer :: groupBox2
    type(System%Windows%Forms%Label),private ,pointer :: label12
    type(System%Windows%Forms%TextBox),private ,pointer :: textBox12
    type(System%Windows%Forms%TextBox),private ,pointer :: textBox11
    type(System%Windows%Forms%TextBox),private ,pointer :: textBox10
    type(System%Windows%Forms%TextBox),private ,pointer :: textBox9
    type(System%Windows%Forms%TextBox),private ,pointer :: textBox8
    type(System%Windows%Forms%TextBox),private ,pointer :: textBox7
    type(System%Windows%Forms%TextBox),private ,pointer :: textBox4
    type(System%Windows%Forms%TextBox),private ,pointer :: textBox5
    type(System%Windows%Forms%TextBox),private ,pointer :: textBox6
    type(System%Windows%Forms%TextBox),private ,pointer :: textBox3
    type(System%Windows%Forms%TextBox),private ,pointer :: textBox2
    type(System%Windows%Forms%TextBox),private ,pointer :: textBox1
    type(System%Windows%Forms%Label),private ,pointer :: label11
    type(System%Windows%Forms%Label),private ,pointer :: label10
    type(System%Windows%Forms%Label),private ,pointer :: label9
    type(System%Windows%Forms%Label),private ,pointer :: label8
    type(System%Windows%Forms%Label),private ,pointer :: label7
    type(System%Windows%Forms%Label),private ,pointer :: label6
    type(System%Windows%Forms%Label),private ,pointer :: label5
    type(System%Windows%Forms%Label),private ,pointer :: label4
    type(System%Windows%Forms%Label),private ,pointer :: label3
    type(System%Windows%Forms%Label),private ,pointer :: label2
    type(System%Windows%Forms%Label),private ,pointer :: label1
    type(System%Windows%Forms%Label),private ,pointer :: label25
    type(System%Windows%Forms%Button),private ,pointer :: button2
    type(System%ComponentModel%Container),pointer, private :: components
    contains
    initial,pass,public  :: Form1_ctor
    procedure,pass,private  :: Dispose
    procedure,pass,private  :: InitializeComponent
    procedure,pass,private  :: button1_Click
    procedure,pass,private  :: button2_Click
end type Form1
contains

subroutine Form1_ctor(this)
    class(Form1) :: this  
   call InitializeComponent(this)
   !
   ! Add any other Initialization statements here
   !
end subroutine

! 
! Clean up any resources being used
!
subroutine Dispose(this,disposing)
   class(Form1) :: this
    logical(1)     :: disposing
      if( disposing .eqv. .true._1 ) then 
        if( associated( this%components ) ) then
            call this%components%Dispose()
        end if
        call this%System%Windows%Forms%Form%Dispose( disposing )
   end if
end subroutine

! <--InitializeComponent--> 
! Required method for Designer support - DO NOT modify
! the contents of this method with the code editor.
!
subroutine InitializeComponent(this)
    class(Form1) :: this
    UINTEGER(KIND=1) :: ASPTMP0
    type(System%Drawing%Font),pointer :: ASPTMP1
    type(System%Drawing%Point),pointer :: ASPTMP2
    type(System%Drawing%Size),pointer :: ASPTMP3
    type(System%EventHandler),pointer :: ASPTMP4
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP5
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP6
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP7
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP8
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP9
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP10
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP11
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP12
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP13
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP14
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP15
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP16
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP17
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP18
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP19
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP20
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP21
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP22
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP23
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP24
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP25
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP26
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP27
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP28
    type(System%Drawing%Point),pointer :: ASPTMP29
    type(System%Drawing%Size),pointer :: ASPTMP30
    type(System%Drawing%Point),pointer :: ASPTMP31
    type(System%Drawing%Size),pointer :: ASPTMP32
    type(System%Drawing%Point),pointer :: ASPTMP33
    type(System%Drawing%Size),pointer :: ASPTMP34
    type(System%Drawing%Point),pointer :: ASPTMP35
    type(System%Drawing%Size),pointer :: ASPTMP36
    type(System%Drawing%Point),pointer :: ASPTMP37
    type(System%Drawing%Size),pointer :: ASPTMP38
    type(System%Drawing%Point),pointer :: ASPTMP39
    type(System%Drawing%Size),pointer :: ASPTMP40
    type(System%Drawing%Point),pointer :: ASPTMP41
    type(System%Drawing%Size),pointer :: ASPTMP42
    type(System%Drawing%Point),pointer :: ASPTMP43
    type(System%Drawing%Size),pointer :: ASPTMP44
    type(System%Drawing%Point),pointer :: ASPTMP45
    type(System%Drawing%Size),pointer :: ASPTMP46
    type(System%Drawing%Point),pointer :: ASPTMP47
    type(System%Drawing%Size),pointer :: ASPTMP48
    type(System%Drawing%Point),pointer :: ASPTMP49
    type(System%Drawing%Size),pointer :: ASPTMP50
    type(System%Drawing%Point),pointer :: ASPTMP51
    type(System%Drawing%Size),pointer :: ASPTMP52
    type(System%Drawing%Point),pointer :: ASPTMP53
    type(System%Drawing%Size),pointer :: ASPTMP54
    type(System%Drawing%Point),pointer :: ASPTMP55
    type(System%Drawing%Size),pointer :: ASPTMP56
    type(System%Drawing%Point),pointer :: ASPTMP57
    type(System%Drawing%Size),pointer :: ASPTMP58
    type(System%Drawing%Point),pointer :: ASPTMP59
    type(System%Drawing%Size),pointer :: ASPTMP60
    type(System%Drawing%Point),pointer :: ASPTMP61
    type(System%Drawing%Size),pointer :: ASPTMP62
    type(System%Drawing%Point),pointer :: ASPTMP63
    type(System%Drawing%Size),pointer :: ASPTMP64
    type(System%Drawing%Point),pointer :: ASPTMP65
    type(System%Drawing%Size),pointer :: ASPTMP66
    type(System%Drawing%Point),pointer :: ASPTMP67
    type(System%Drawing%Size),pointer :: ASPTMP68
    type(System%Drawing%Point),pointer :: ASPTMP69
    type(System%Drawing%Size),pointer :: ASPTMP70
    type(System%Drawing%Point),pointer :: ASPTMP71
    type(System%Drawing%Size),pointer :: ASPTMP72
    type(System%Drawing%Point),pointer :: ASPTMP73
    type(System%Drawing%Size),pointer :: ASPTMP74
    type(System%Drawing%Point),pointer :: ASPTMP75
    type(System%Drawing%Size),pointer :: ASPTMP76
    type(System%Drawing%Point),pointer :: ASPTMP77
    type(System%Drawing%Size),pointer :: ASPTMP78
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP79
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP80
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP81
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP82
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP83
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP84
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP85
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP86
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP87
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP88
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP89
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP90
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP91
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP92
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP93
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP94
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP95
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP96
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP97
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP98
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP99
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP100
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP101
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP102
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP103
    type(System%Drawing%Point),pointer :: ASPTMP104
    type(System%Drawing%Size),pointer :: ASPTMP105
    type(System%Drawing%Point),pointer :: ASPTMP106
    type(System%Drawing%Size),pointer :: ASPTMP107
    type(System%Drawing%Point),pointer :: ASPTMP108
    type(System%Drawing%Size),pointer :: ASPTMP109
    type(System%Drawing%Point),pointer :: ASPTMP110
    type(System%Drawing%Size),pointer :: ASPTMP111
    type(System%Drawing%Point),pointer :: ASPTMP112
    type(System%Drawing%Size),pointer :: ASPTMP113
    type(System%Drawing%Point),pointer :: ASPTMP114
    type(System%Drawing%Size),pointer :: ASPTMP115
    type(System%Drawing%Point),pointer :: ASPTMP116
    type(System%Drawing%Size),pointer :: ASPTMP117
    type(System%Drawing%Point),pointer :: ASPTMP118
    type(System%Drawing%Size),pointer :: ASPTMP119
    type(System%Drawing%Point),pointer :: ASPTMP120
    type(System%Drawing%Size),pointer :: ASPTMP121
    type(System%Drawing%Point),pointer :: ASPTMP122
    type(System%Drawing%Size),pointer :: ASPTMP123
    type(System%Drawing%Point),pointer :: ASPTMP124
    type(System%Drawing%Size),pointer :: ASPTMP125
    type(System%Drawing%Point),pointer :: ASPTMP126
    type(System%Drawing%Size),pointer :: ASPTMP127
    type(System%Drawing%Point),pointer :: ASPTMP128
    type(System%Drawing%Size),pointer :: ASPTMP129
    type(System%Drawing%Point),pointer :: ASPTMP130
    type(System%Drawing%Size),pointer :: ASPTMP131
    type(System%Drawing%Point),pointer :: ASPTMP132
    type(System%Drawing%Size),pointer :: ASPTMP133
    type(System%Drawing%Point),pointer :: ASPTMP134
    type(System%Drawing%Size),pointer :: ASPTMP135
    type(System%Drawing%Point),pointer :: ASPTMP136
    type(System%Drawing%Size),pointer :: ASPTMP137
    type(System%Drawing%Point),pointer :: ASPTMP138
    type(System%Drawing%Size),pointer :: ASPTMP139
    type(System%Drawing%Point),pointer :: ASPTMP140
    type(System%Drawing%Size),pointer :: ASPTMP141
    type(System%Drawing%Point),pointer :: ASPTMP142
    type(System%Drawing%Size),pointer :: ASPTMP143
    type(System%Drawing%Point),pointer :: ASPTMP144
    type(System%Drawing%Size),pointer :: ASPTMP145
    type(System%Drawing%Point),pointer :: ASPTMP146
    type(System%Drawing%Size),pointer :: ASPTMP147
    type(System%Drawing%Point),pointer :: ASPTMP148
    type(System%Drawing%Size),pointer :: ASPTMP149
    type(System%Drawing%Point),pointer :: ASPTMP150
    type(System%Drawing%Size),pointer :: ASPTMP151
    type(System%Drawing%Point),pointer :: ASPTMP152
    type(System%Drawing%Size),pointer :: ASPTMP153
    type(System%Drawing%Point),pointer :: ASPTMP154
    type(System%Drawing%Size),pointer :: ASPTMP155
    type(System%Drawing%Point),pointer :: ASPTMP156
    type(System%EventHandler),pointer :: ASPTMP157
    type(System%Drawing%Size),pointer :: ASPTMP158
    type(System%Drawing%Size),pointer :: ASPTMP159
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP160
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP161
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP162
    type(System%Windows%Forms%Control%ControlCollection),pointer :: ASPTMP163
    allocate(this%button1,source=System%Windows%Forms%Button())
    allocate(this%groupBox1,source=System%Windows%Forms%GroupBox())
    allocate(this%label13,source=System%Windows%Forms%Label())
    allocate(this%textBox13,source=System%Windows%Forms%TextBox())
    allocate(this%textBox14,source=System%Windows%Forms%TextBox())
    allocate(this%textBox15,source=System%Windows%Forms%TextBox())
    allocate(this%textBox16,source=System%Windows%Forms%TextBox())
    allocate(this%textBox17,source=System%Windows%Forms%TextBox())
    allocate(this%textBox18,source=System%Windows%Forms%TextBox())
    allocate(this%textBox19,source=System%Windows%Forms%TextBox())
    allocate(this%textBox20,source=System%Windows%Forms%TextBox())
    allocate(this%textBox21,source=System%Windows%Forms%TextBox())
    allocate(this%textBox22,source=System%Windows%Forms%TextBox())
    allocate(this%textBox23,source=System%Windows%Forms%TextBox())
    allocate(this%textBox24,source=System%Windows%Forms%TextBox())
    allocate(this%label14,source=System%Windows%Forms%Label())
    allocate(this%label15,source=System%Windows%Forms%Label())
    allocate(this%label16,source=System%Windows%Forms%Label())
    allocate(this%label17,source=System%Windows%Forms%Label())
    allocate(this%label18,source=System%Windows%Forms%Label())
    allocate(this%label19,source=System%Windows%Forms%Label())
    allocate(this%label20,source=System%Windows%Forms%Label())
    allocate(this%label21,source=System%Windows%Forms%Label())
    allocate(this%label22,source=System%Windows%Forms%Label())
    allocate(this%label23,source=System%Windows%Forms%Label())
    allocate(this%label24,source=System%Windows%Forms%Label())
    allocate(this%groupBox2,source=System%Windows%Forms%GroupBox())
    allocate(this%label25,source=System%Windows%Forms%Label())
    allocate(this%label12,source=System%Windows%Forms%Label())
    allocate(this%textBox12,source=System%Windows%Forms%TextBox())
    allocate(this%textBox11,source=System%Windows%Forms%TextBox())
    allocate(this%textBox10,source=System%Windows%Forms%TextBox())
    allocate(this%textBox9,source=System%Windows%Forms%TextBox())
    allocate(this%textBox8,source=System%Windows%Forms%TextBox())
    allocate(this%textBox7,source=System%Windows%Forms%TextBox())
    allocate(this%textBox4,source=System%Windows%Forms%TextBox())
    allocate(this%textBox5,source=System%Windows%Forms%TextBox())
    allocate(this%textBox6,source=System%Windows%Forms%TextBox())
    allocate(this%textBox3,source=System%Windows%Forms%TextBox())
    allocate(this%textBox2,source=System%Windows%Forms%TextBox())
    allocate(this%textBox1,source=System%Windows%Forms%TextBox())
    allocate(this%label11,source=System%Windows%Forms%Label())
    allocate(this%label10,source=System%Windows%Forms%Label())
    allocate(this%label9,source=System%Windows%Forms%Label())
    allocate(this%label8,source=System%Windows%Forms%Label())
    allocate(this%label7,source=System%Windows%Forms%Label())
    allocate(this%label6,source=System%Windows%Forms%Label())
    allocate(this%label5,source=System%Windows%Forms%Label())
    allocate(this%label4,source=System%Windows%Forms%Label())
    allocate(this%label3,source=System%Windows%Forms%Label())
    allocate(this%label2,source=System%Windows%Forms%Label())
    allocate(this%label1,source=System%Windows%Forms%Label())
    allocate(this%button2,source=System%Windows%Forms%Button())
    call this%groupBox1%SuspendLayout()
    call this%groupBox2%SuspendLayout()
    call this%SuspendLayout()
    !
    !button1
    !
    ASPTMP0 = 0
    allocate(ASPTMP1,source=System%Drawing%Font(USTRING("Microsoft Sans Serif"), &
        8.25, &
        System%Drawing%FontStyle%Bold, &
        System%Drawing%GraphicsUnit%Point, &
        ASPTMP0))
    this%button1%Font => ASPTMP1
    allocate(ASPTMP2,source=System%Drawing%Point(136, &
        232))
    this%button1%Location => ASPTMP2
    this%button1%Name => USTRING("button1")
    allocate(ASPTMP3,source=System%Drawing%Size(192, &
        24))
    this%button1%Size => ASPTMP3
    this%button1%TabIndex = 13
    this%button1%Text => USTRING("Process Data with Win32 DLL")
    allocate(ASPTMP4,source=System%EventHandler(this%button1_Click))
    call this%button1%add_Click(ASPTMP4)
    !
    !groupBox1
    !
    ASPTMP28 => this%groupBox1%Controls
    call ASPTMP28%Add(this%label13)
    call ASPTMP28%Add(this%textBox13)
    call ASPTMP28%Add(this%textBox14)
    call ASPTMP28%Add(this%textBox15)
    call ASPTMP28%Add(this%textBox16)
    call ASPTMP28%Add(this%textBox17)
    call ASPTMP28%Add(this%textBox18)
    call ASPTMP28%Add(this%textBox19)
    call ASPTMP28%Add(this%textBox20)
    call ASPTMP28%Add(this%textBox21)
    call ASPTMP28%Add(this%textBox22)
    call ASPTMP28%Add(this%textBox23)
    call ASPTMP28%Add(this%textBox24)
    call ASPTMP28%Add(this%label14)
    call ASPTMP28%Add(this%label15)
    call ASPTMP28%Add(this%label16)
    call ASPTMP28%Add(this%label17)
    call ASPTMP28%Add(this%label18)
    call ASPTMP28%Add(this%label19)
    call ASPTMP28%Add(this%label20)
    call ASPTMP28%Add(this%label21)
    call ASPTMP28%Add(this%label22)
    call ASPTMP28%Add(this%label23)
    call ASPTMP28%Add(this%label24)
    allocate(ASPTMP29,source=System%Drawing%Point(16, &
        16))
    this%groupBox1%Location => ASPTMP29
    this%groupBox1%Name => USTRING("groupBox1")
    allocate(ASPTMP30,source=System%Drawing%Size(440, &
        208))
    this%groupBox1%Size => ASPTMP30
    this%groupBox1%TabIndex = 28
    this%groupBox1%TabStop = .false._1
    this%groupBox1%Text => USTRING("Input")
    !
    !label13
    !
    this%label13%ForeColor => System%Drawing%Color%Maroon
    allocate(ASPTMP31,source=System%Drawing%Point(344, &
        173))
    this%label13%Location => ASPTMP31
    this%label13%Name => USTRING("label13")
    allocate(ASPTMP32,source=System%Drawing%Size(35, &
        23))
    this%label13%Size => ASPTMP32
    this%label13%TabIndex = 75
    this%label13%Text => USTRING("(2,3)")
    !
    !textBox13
    !
    allocate(ASPTMP33,source=System%Drawing%Point(392, &
        173))
    this%textBox13%Location => ASPTMP33
    this%textBox13%MaxLength = 1
    this%textBox13%Name => USTRING("textBox13")
    allocate(ASPTMP34,source=System%Drawing%Size(16, &
        20))
    this%textBox13%Size => ASPTMP34
    this%textBox13%TabIndex = 12
    this%textBox13%Text => USTRING("")
    !
    !textBox14
    !
    allocate(ASPTMP35,source=System%Drawing%Point(288, &
        173))
    this%textBox14%Location => ASPTMP35
    this%textBox14%MaxLength = 1
    this%textBox14%Name => USTRING("textBox14")
    allocate(ASPTMP36,source=System%Drawing%Size(16, &
        20))
    this%textBox14%Size => ASPTMP36
    this%textBox14%TabIndex = 11
    this%textBox14%Text => USTRING("")
    !
    !textBox15
    !
    allocate(ASPTMP37,source=System%Drawing%Point(184, &
        173))
    this%textBox15%Location => ASPTMP37
    this%textBox15%MaxLength = 1
    this%textBox15%Name => USTRING("textBox15")
    allocate(ASPTMP38,source=System%Drawing%Size(16, &
        20))
    this%textBox15%Size => ASPTMP38
    this%textBox15%TabIndex = 10
    this%textBox15%Text => USTRING("")
    !
    !textBox16
    !
    allocate(ASPTMP39,source=System%Drawing%Point(392, &
        144))
    this%textBox16%Location => ASPTMP39
    this%textBox16%MaxLength = 1
    this%textBox16%Name => USTRING("textBox16")
    allocate(ASPTMP40,source=System%Drawing%Size(16, &
        20))
    this%textBox16%Size => ASPTMP40
    this%textBox16%TabIndex = 9
    this%textBox16%Text => USTRING("")
    !
    !textBox17
    !
    allocate(ASPTMP41,source=System%Drawing%Point(288, &
        141))
    this%textBox17%Location => ASPTMP41
    this%textBox17%MaxLength = 1
    this%textBox17%Name => USTRING("textBox17")
    allocate(ASPTMP42,source=System%Drawing%Size(16, &
        20))
    this%textBox17%Size => ASPTMP42
    this%textBox17%TabIndex = 8
    this%textBox17%Text => USTRING("")
    !
    !textBox18
    !
    allocate(ASPTMP43,source=System%Drawing%Point(184, &
        141))
    this%textBox18%Location => ASPTMP43
    this%textBox18%MaxLength = 1
    this%textBox18%Name => USTRING("textBox18")
    allocate(ASPTMP44,source=System%Drawing%Size(16, &
        20))
    this%textBox18%Size => ASPTMP44
    this%textBox18%TabIndex = 7
    this%textBox18%Text => USTRING("")
    !
    !textBox19
    !
    allocate(ASPTMP45,source=System%Drawing%Point(336, &
        93))
    this%textBox19%Location => ASPTMP45
    this%textBox19%MaxLength = 5
    this%textBox19%Name => USTRING("textBox19")
    allocate(ASPTMP46,source=System%Drawing%Size(72, &
        20))
    this%textBox19%Size => ASPTMP46
    this%textBox19%TabIndex = 6
    this%textBox19%Text => USTRING("")
    this%textBox19%TextAlign => System%Windows%Forms%HorizontalAlignment%Center
    !
    !textBox20
    !
    allocate(ASPTMP47,source=System%Drawing%Point(232, &
        93))
    this%textBox20%Location => ASPTMP47
    this%textBox20%MaxLength = 8
    this%textBox20%Name => USTRING("textBox20")
    allocate(ASPTMP48,source=System%Drawing%Size(72, &
        20))
    this%textBox20%Size => ASPTMP48
    this%textBox20%TabIndex = 5
    this%textBox20%Text => USTRING("")
    this%textBox20%TextAlign => System%Windows%Forms%HorizontalAlignment%Center
    !
    !textBox21
    !
    allocate(ASPTMP49,source=System%Drawing%Point(128, &
        93))
    this%textBox21%Location => ASPTMP49
    this%textBox21%MaxLength = 5
    this%textBox21%Name => USTRING("textBox21")
    allocate(ASPTMP50,source=System%Drawing%Size(72, &
        20))
    this%textBox21%Size => ASPTMP50
    this%textBox21%TabIndex = 4
    this%textBox21%Text => USTRING("")
    this%textBox21%TextAlign => System%Windows%Forms%HorizontalAlignment%Center
    !
    !textBox22
    !
    allocate(ASPTMP51,source=System%Drawing%Point(336, &
        45))
    this%textBox22%Location => ASPTMP51
    this%textBox22%MaxLength = 5
    this%textBox22%Name => USTRING("textBox22")
    allocate(ASPTMP52,source=System%Drawing%Size(72, &
        20))
    this%textBox22%Size => ASPTMP52
    this%textBox22%TabIndex = 3
    this%textBox22%Text => USTRING("")
    this%textBox22%TextAlign => System%Windows%Forms%HorizontalAlignment%Center
    !
    !textBox23
    !
    allocate(ASPTMP53,source=System%Drawing%Point(232, &
        45))
    this%textBox23%Location => ASPTMP53
    this%textBox23%MaxLength = 8
    this%textBox23%Name => USTRING("textBox23")
    allocate(ASPTMP54,source=System%Drawing%Size(72, &
        20))
    this%textBox23%Size => ASPTMP54
    this%textBox23%TabIndex = 2
    this%textBox23%Text => USTRING("")
    this%textBox23%TextAlign => System%Windows%Forms%HorizontalAlignment%Center
    !
    !textBox24
    !
    allocate(ASPTMP55,source=System%Drawing%Point(128, &
        45))
    this%textBox24%Location => ASPTMP55
    this%textBox24%MaxLength = 5
    this%textBox24%Name => USTRING("textBox24")
    allocate(ASPTMP56,source=System%Drawing%Size(72, &
        20))
    this%textBox24%Size => ASPTMP56
    this%textBox24%TabIndex = 1
    this%textBox24%Text => USTRING("")
    this%textBox24%TextAlign => System%Windows%Forms%HorizontalAlignment%Center
    !
    !label14
    !
    this%label14%ForeColor => System%Drawing%Color%Maroon
    allocate(ASPTMP57,source=System%Drawing%Point(240, &
        173))
    this%label14%Location => ASPTMP57
    this%label14%Name => USTRING("label14")
    allocate(ASPTMP58,source=System%Drawing%Size(35, &
        23))
    this%label14%Size => ASPTMP58
    this%label14%TabIndex = 73
    this%label14%Text => USTRING("(2,2)")
    !
    !label15
    !
    this%label15%ForeColor => System%Drawing%Color%Maroon
    allocate(ASPTMP59,source=System%Drawing%Point(136, &
        173))
    this%label15%Location => ASPTMP59
    this%label15%Name => USTRING("label15")
    allocate(ASPTMP60,source=System%Drawing%Size(35, &
        23))
    this%label15%Size => ASPTMP60
    this%label15%TabIndex = 71
    this%label15%Text => USTRING("(2,1)")
    !
    !label16
    !
    this%label16%ForeColor => System%Drawing%Color%Maroon
    allocate(ASPTMP61,source=System%Drawing%Point(344, &
        141))
    this%label16%Location => ASPTMP61
    this%label16%Name => USTRING("label16")
    allocate(ASPTMP62,source=System%Drawing%Size(35, &
        23))
    this%label16%Size => ASPTMP62
    this%label16%TabIndex = 69
    this%label16%Text => USTRING("(1,3)")
    !
    !label17
    !
    this%label17%ForeColor => System%Drawing%Color%Maroon
    allocate(ASPTMP63,source=System%Drawing%Point(240, &
        141))
    this%label17%Location => ASPTMP63
    this%label17%Name => USTRING("label17")
    allocate(ASPTMP64,source=System%Drawing%Size(35, &
        23))
    this%label17%Size => ASPTMP64
    this%label17%TabIndex = 67
    this%label17%Text => USTRING("(1,2)")
    !
    !label18
    !
    this%label18%ForeColor => System%Drawing%Color%Maroon
    allocate(ASPTMP65,source=System%Drawing%Point(136, &
        141))
    this%label18%Location => ASPTMP65
    this%label18%Name => USTRING("label18")
    allocate(ASPTMP66,source=System%Drawing%Size(35, &
        23))
    this%label18%Size => ASPTMP66
    this%label18%TabIndex = 65
    this%label18%Text => USTRING("(1,1)")
    !
    !label19
    !
    this%label19%ForeColor => System%Drawing%Color%DarkBlue
    allocate(ASPTMP67,source=System%Drawing%Point(24, &
        141))
    this%label19%Location => ASPTMP67
    this%label19%Name => USTRING("label19")
    allocate(ASPTMP68,source=System%Drawing%Size(104, &
        24))
    this%label19%Size => ASPTMP68
    this%label19%TabIndex = 63
    this%label19%Text => USTRING("Character Array")
    !
    !label20
    !
    this%label20%ForeColor => System%Drawing%Color%DarkBlue
    allocate(ASPTMP69,source=System%Drawing%Point(24, &
        93))
    this%label20%Location => ASPTMP69
    this%label20%Name => USTRING("label20")
    allocate(ASPTMP70,source=System%Drawing%Size(88, &
        24))
    this%label20%Size => ASPTMP70
    this%label20%TabIndex = 59
    this%label20%Text => USTRING("Derived Type")
    !
    !label21
    !
    this%label21%ForeColor => System%Drawing%Color%Maroon
    allocate(ASPTMP71,source=System%Drawing%Point(344, &
        21))
    this%label21%Location => ASPTMP71
    this%label21%Name => USTRING("label21")
    allocate(ASPTMP72,source=System%Drawing%Size(56, &
        16))
    this%label21%Size => ASPTMP72
    this%label21%TabIndex = 55
    this%label21%Text => USTRING("Character")
    !
    !label22
    !
    this%label22%ForeColor => System%Drawing%Color%Maroon
    allocate(ASPTMP73,source=System%Drawing%Point(256, &
        21))
    this%label22%Location => ASPTMP73
    this%label22%Name => USTRING("label22")
    allocate(ASPTMP74,source=System%Drawing%Size(32, &
        16))
    this%label22%Size => ASPTMP74
    this%label22%TabIndex = 54
    this%label22%Text => USTRING("Real")
    !
    !label23
    !
    this%label23%ForeColor => System%Drawing%Color%DarkBlue
    allocate(ASPTMP75,source=System%Drawing%Point(24, &
        45))
    this%label23%Location => ASPTMP75
    this%label23%Name => USTRING("label23")
    allocate(ASPTMP76,source=System%Drawing%Size(80, &
        24))
    this%label23%Size => ASPTMP76
    this%label23%TabIndex = 53
    this%label23%Text => USTRING("Scalars")
    !
    !label24
    !
    this%label24%ForeColor => System%Drawing%Color%Maroon
    allocate(ASPTMP77,source=System%Drawing%Point(144, &
        21))
    this%label24%Location => ASPTMP77
    this%label24%Name => USTRING("label24")
    allocate(ASPTMP78,source=System%Drawing%Size(40, &
        16))
    this%label24%Size => ASPTMP78
    this%label24%TabIndex = 52
    this%label24%Text => USTRING("Integer")
    !
    !groupBox2
    !
    ASPTMP103 => this%groupBox2%Controls
    call ASPTMP103%Add(this%label25)
    call ASPTMP103%Add(this%label12)
    call ASPTMP103%Add(this%textBox12)
    call ASPTMP103%Add(this%textBox11)
    call ASPTMP103%Add(this%textBox10)
    call ASPTMP103%Add(this%textBox9)
    call ASPTMP103%Add(this%textBox8)
    call ASPTMP103%Add(this%textBox7)
    call ASPTMP103%Add(this%textBox4)
    call ASPTMP103%Add(this%textBox5)
    call ASPTMP103%Add(this%textBox6)
    call ASPTMP103%Add(this%textBox3)
    call ASPTMP103%Add(this%textBox2)
    call ASPTMP103%Add(this%textBox1)
    call ASPTMP103%Add(this%label11)
    call ASPTMP103%Add(this%label10)
    call ASPTMP103%Add(this%label9)
    call ASPTMP103%Add(this%label8)
    call ASPTMP103%Add(this%label7)
    call ASPTMP103%Add(this%label6)
    call ASPTMP103%Add(this%label5)
    call ASPTMP103%Add(this%label4)
    call ASPTMP103%Add(this%label3)
    call ASPTMP103%Add(this%label2)
    call ASPTMP103%Add(this%label1)
    allocate(ASPTMP104,source=System%Drawing%Point(16, &
        264))
    this%groupBox2%Location => ASPTMP104
    this%groupBox2%Name => USTRING("groupBox2")
    allocate(ASPTMP105,source=System%Drawing%Size(440, &
        248))
    this%groupBox2%Size => ASPTMP105
    this%groupBox2%TabIndex = 29
    this%groupBox2%TabStop = .false._1
    this%groupBox2%Text => USTRING("Output")
    !
    !label25
    !
    this%label25%ForeColor => System%Drawing%Color%Maroon
    allocate(ASPTMP106,source=System%Drawing%Point(216, &
        128))
    this%label25%Location => ASPTMP106
    this%label25%Name => USTRING("label25")
    allocate(ASPTMP107,source=System%Drawing%Size(88, &
        16))
    this%label25%Size => ASPTMP107
    this%label25%TabIndex = 52
    this%label25%Text => USTRING("TRANSPOSED")
    !
    !label12
    !
    this%label12%ForeColor => System%Drawing%Color%Maroon
    allocate(ASPTMP108,source=System%Drawing%Point(272, &
        216))
    this%label12%Location => ASPTMP108
    this%label12%Name => USTRING("label12")
    allocate(ASPTMP109,source=System%Drawing%Size(35, &
        23))
    this%label12%Size => ASPTMP109
    this%label12%TabIndex = 51
    this%label12%Text => USTRING("(3,2)")
    !
    !textBox12
    !
    allocate(ASPTMP110,source=System%Drawing%Point(320, &
        216))
    this%textBox12%Location => ASPTMP110
    this%textBox12%Name => USTRING("textBox12")
    this%textBox12%ReadOnly = .true._1
    allocate(ASPTMP111,source=System%Drawing%Size(16, &
        20))
    this%textBox12%Size => ASPTMP111
    this%textBox12%TabIndex = 50
    this%textBox12%TabStop = .false._1
    this%textBox12%Text => USTRING("")
    !
    !textBox11
    !
    allocate(ASPTMP112,source=System%Drawing%Point(320, &
        184))
    this%textBox11%Location => ASPTMP112
    this%textBox11%Name => USTRING("textBox11")
    this%textBox11%ReadOnly = .true._1
    allocate(ASPTMP113,source=System%Drawing%Size(16, &
        20))
    this%textBox11%Size => ASPTMP113
    this%textBox11%TabIndex = 48
    this%textBox11%TabStop = .false._1
    this%textBox11%Text => USTRING("")
    !
    !textBox10
    !
    allocate(ASPTMP114,source=System%Drawing%Point(208, &
        184))
    this%textBox10%Location => ASPTMP114
    this%textBox10%Name => USTRING("textBox10")
    this%textBox10%ReadOnly = .true._1
    allocate(ASPTMP115,source=System%Drawing%Size(16, &
        20))
    this%textBox10%Size => ASPTMP115
    this%textBox10%TabIndex = 46
    this%textBox10%TabStop = .false._1
    this%textBox10%Text => USTRING("")
    !
    !textBox9
    !
    allocate(ASPTMP116,source=System%Drawing%Point(208, &
        216))
    this%textBox9%Location => ASPTMP116
    this%textBox9%Name => USTRING("textBox9")
    this%textBox9%ReadOnly = .true._1
    allocate(ASPTMP117,source=System%Drawing%Size(16, &
        20))
    this%textBox9%Size => ASPTMP117
    this%textBox9%TabIndex = 44
    this%textBox9%TabStop = .false._1
    this%textBox9%Text => USTRING("")
    !
    !textBox8
    !
    allocate(ASPTMP118,source=System%Drawing%Point(320, &
        152))
    this%textBox8%Location => ASPTMP118
    this%textBox8%Name => USTRING("textBox8")
    this%textBox8%ReadOnly = .true._1
    allocate(ASPTMP119,source=System%Drawing%Size(16, &
        20))
    this%textBox8%Size => ASPTMP119
    this%textBox8%TabIndex = 42
    this%textBox8%TabStop = .false._1
    this%textBox8%Text => USTRING("")
    !
    !textBox7
    !
    allocate(ASPTMP120,source=System%Drawing%Point(208, &
        152))
    this%textBox7%Location => ASPTMP120
    this%textBox7%Name => USTRING("textBox7")
    this%textBox7%ReadOnly = .true._1
    allocate(ASPTMP121,source=System%Drawing%Size(16, &
        20))
    this%textBox7%Size => ASPTMP121
    this%textBox7%TabIndex = 40
    this%textBox7%TabStop = .false._1
    this%textBox7%Text => USTRING("")
    !
    !textBox4
    !
    allocate(ASPTMP122,source=System%Drawing%Point(336, &
        96))
    this%textBox4%Location => ASPTMP122
    this%textBox4%Name => USTRING("textBox4")
    this%textBox4%ReadOnly = .true._1
    allocate(ASPTMP123,source=System%Drawing%Size(72, &
        20))
    this%textBox4%Size => ASPTMP123
    this%textBox4%TabIndex = 38
    this%textBox4%TabStop = .false._1
    this%textBox4%Text => USTRING("")
    this%textBox4%TextAlign => System%Windows%Forms%HorizontalAlignment%Center
    !
    !textBox5
    !
    allocate(ASPTMP124,source=System%Drawing%Point(232, &
        96))
    this%textBox5%Location => ASPTMP124
    this%textBox5%Name => USTRING("textBox5")
    this%textBox5%ReadOnly = .true._1
    allocate(ASPTMP125,source=System%Drawing%Size(72, &
        20))
    this%textBox5%Size => ASPTMP125
    this%textBox5%TabIndex = 37
    this%textBox5%TabStop = .false._1
    this%textBox5%Text => USTRING("")
    this%textBox5%TextAlign => System%Windows%Forms%HorizontalAlignment%Center
    !
    !textBox6
    !
    allocate(ASPTMP126,source=System%Drawing%Point(128, &
        96))
    this%textBox6%Location => ASPTMP126
    this%textBox6%Name => USTRING("textBox6")
    this%textBox6%ReadOnly = .true._1
    allocate(ASPTMP127,source=System%Drawing%Size(72, &
        20))
    this%textBox6%Size => ASPTMP127
    this%textBox6%TabIndex = 36
    this%textBox6%TabStop = .false._1
    this%textBox6%Text => USTRING("")
    this%textBox6%TextAlign => System%Windows%Forms%HorizontalAlignment%Center
    !
    !textBox3
    !
    allocate(ASPTMP128,source=System%Drawing%Point(336, &
        48))
    this%textBox3%Location => ASPTMP128
    this%textBox3%Name => USTRING("textBox3")
    this%textBox3%ReadOnly = .true._1
    allocate(ASPTMP129,source=System%Drawing%Size(72, &
        20))
    this%textBox3%Size => ASPTMP129
    this%textBox3%TabIndex = 34
    this%textBox3%TabStop = .false._1
    this%textBox3%Text => USTRING("")
    this%textBox3%TextAlign => System%Windows%Forms%HorizontalAlignment%Center
    !
    !textBox2
    !
    allocate(ASPTMP130,source=System%Drawing%Point(232, &
        48))
    this%textBox2%Location => ASPTMP130
    this%textBox2%Name => USTRING("textBox2")
    this%textBox2%ReadOnly = .true._1
    allocate(ASPTMP131,source=System%Drawing%Size(72, &
        20))
    this%textBox2%Size => ASPTMP131
    this%textBox2%TabIndex = 33
    this%textBox2%TabStop = .false._1
    this%textBox2%Text => USTRING("")
    this%textBox2%TextAlign => System%Windows%Forms%HorizontalAlignment%Center
    !
    !textBox1
    !
    allocate(ASPTMP132,source=System%Drawing%Point(128, &
        48))
    this%textBox1%Location => ASPTMP132
    this%textBox1%Name => USTRING("textBox1")
    this%textBox1%ReadOnly = .true._1
    allocate(ASPTMP133,source=System%Drawing%Size(72, &
        20))
    this%textBox1%Size => ASPTMP133
    this%textBox1%TabIndex = 32
    this%textBox1%TabStop = .false._1
    this%textBox1%Text => USTRING("")
    this%textBox1%TextAlign => System%Windows%Forms%HorizontalAlignment%Center
    !
    !label11
    !
    this%label11%ForeColor => System%Drawing%Color%Maroon
    allocate(ASPTMP134,source=System%Drawing%Point(272, &
        184))
    this%label11%Location => ASPTMP134
    this%label11%Name => USTRING("label11")
    allocate(ASPTMP135,source=System%Drawing%Size(35, &
        23))
    this%label11%Size => ASPTMP135
    this%label11%TabIndex = 49
    this%label11%Text => USTRING("(2,2)")
    !
    !label10
    !
    this%label10%ForeColor => System%Drawing%Color%Maroon
    allocate(ASPTMP136,source=System%Drawing%Point(160, &
        184))
    this%label10%Location => ASPTMP136
    this%label10%Name => USTRING("label10")
    allocate(ASPTMP137,source=System%Drawing%Size(35, &
        23))
    this%label10%Size => ASPTMP137
    this%label10%TabIndex = 47
    this%label10%Text => USTRING("(2,1)")
    !
    !label9
    !
    this%label9%ForeColor => System%Drawing%Color%Maroon
    allocate(ASPTMP138,source=System%Drawing%Point(160, &
        216))
    this%label9%Location => ASPTMP138
    this%label9%Name => USTRING("label9")
    allocate(ASPTMP139,source=System%Drawing%Size(35, &
        23))
    this%label9%Size => ASPTMP139
    this%label9%TabIndex = 45
    this%label9%Text => USTRING("(3,1)")
    !
    !label8
    !
    this%label8%ForeColor => System%Drawing%Color%Maroon
    allocate(ASPTMP140,source=System%Drawing%Point(272, &
        152))
    this%label8%Location => ASPTMP140
    this%label8%Name => USTRING("label8")
    allocate(ASPTMP141,source=System%Drawing%Size(35, &
        23))
    this%label8%Size => ASPTMP141
    this%label8%TabIndex = 43
    this%label8%Text => USTRING("(1,2)")
    !
    !label7
    !
    this%label7%ForeColor => System%Drawing%Color%Maroon
    allocate(ASPTMP142,source=System%Drawing%Point(160, &
        152))
    this%label7%Location => ASPTMP142
    this%label7%Name => USTRING("label7")
    allocate(ASPTMP143,source=System%Drawing%Size(35, &
        23))
    this%label7%Size => ASPTMP143
    this%label7%TabIndex = 41
    this%label7%Text => USTRING("(1,1)")
    !
    !label6
    !
    this%label6%ForeColor => System%Drawing%Color%DarkBlue
    allocate(ASPTMP144,source=System%Drawing%Point(24, &
        152))
    this%label6%Location => ASPTMP144
    this%label6%Name => USTRING("label6")
    allocate(ASPTMP145,source=System%Drawing%Size(104, &
        24))
    this%label6%Size => ASPTMP145
    this%label6%TabIndex = 39
    this%label6%Text => USTRING("Character Array")
    !
    !label5
    !
    this%label5%ForeColor => System%Drawing%Color%DarkBlue
    allocate(ASPTMP146,source=System%Drawing%Point(24, &
        96))
    this%label5%Location => ASPTMP146
    this%label5%Name => USTRING("label5")
    allocate(ASPTMP147,source=System%Drawing%Size(88, &
        24))
    this%label5%Size => ASPTMP147
    this%label5%TabIndex = 35
    this%label5%Text => USTRING("Derived Type")
    !
    !label4
    !
    this%label4%ForeColor => System%Drawing%Color%Maroon
    allocate(ASPTMP148,source=System%Drawing%Point(336, &
        24))
    this%label4%Location => ASPTMP148
    this%label4%Name => USTRING("label4")
    allocate(ASPTMP149,source=System%Drawing%Size(77, &
        16))
    this%label4%Size => ASPTMP149
    this%label4%TabIndex = 31
    this%label4%Text => USTRING("Char REPEAT")
    !
    !label3
    !
    this%label3%ForeColor => System%Drawing%Color%Maroon
    allocate(ASPTMP150,source=System%Drawing%Point(232, &
        24))
    this%label3%Location => ASPTMP150
    this%label3%Name => USTRING("label3")
    allocate(ASPTMP151,source=System%Drawing%Size(72, &
        16))
    this%label3%Size => ASPTMP151
    this%label3%TabIndex = 30
    this%label3%Text => USTRING("Real X 50.5")
    !
    !label2
    !
    this%label2%ForeColor => System%Drawing%Color%DarkBlue
    allocate(ASPTMP152,source=System%Drawing%Point(24, &
        48))
    this%label2%Location => ASPTMP152
    this%label2%Name => USTRING("label2")
    allocate(ASPTMP153,source=System%Drawing%Size(80, &
        24))
    this%label2%Size => ASPTMP153
    this%label2%TabIndex = 29
    this%label2%Text => USTRING("Scalars")
    !
    !label1
    !
    this%label1%ForeColor => System%Drawing%Color%Maroon
    allocate(ASPTMP154,source=System%Drawing%Point(128, &
        24))
    this%label1%Location => ASPTMP154
    this%label1%Name => USTRING("label1")
    allocate(ASPTMP155,source=System%Drawing%Size(72, &
        16))
    this%label1%Size => ASPTMP155
    this%label1%TabIndex = 28
    this%label1%Text => USTRING("Integer X 50")
    !
    !button2
    !
    allocate(ASPTMP156,source=System%Drawing%Point(192, &
        520))
    this%button2%Location => ASPTMP156
    this%button2%Name => USTRING("button2")
    this%button2%TabIndex = 13
    this%button2%TabStop = .false._1
    this%button2%Text => USTRING("Close")
    allocate(ASPTMP157,source=System%EventHandler(this%button2_Click))
    call this%button2%add_Click(ASPTMP157)
    !
    !Form1
    !
    allocate(ASPTMP158,source=System%Drawing%Size(5, &
        13))
    this%AutoScaleBaseSize => ASPTMP158
    allocate(ASPTMP159,source=System%Drawing%Size(472, &
        549))
    this%ClientSize => ASPTMP159
    ASPTMP163 => this%Controls
    call ASPTMP163%Add(this%button2)
    call ASPTMP163%Add(this%groupBox2)
    call ASPTMP163%Add(this%groupBox1)
    call ASPTMP163%Add(this%button1)
    this%Name => USTRING("Form1")
    this%Text => USTRING("DotNetWrapper")
    call this%groupBox1%ResumeLayout(.false._1)
    call this%groupBox2%ResumeLayout(.false._1)
    call this%ResumeLayout(.false._1)
end subroutine

subroutine button1_Click(this, sender, e)
    class(Form1)                    :: this
    type(System%Object),target      :: sender
    type(System%EventArgs),target   :: e
    type(DialogResult)              :: dr
    type(System%FormatException),pointer :: fmtx
    integer                         :: Int4input,Int4output
    real                            :: Real4input,Real4output
    character (len=5)               :: Char5input
    character (len=10)              :: Char10output
  	type DT1
  	    sequence
	    integer                     :: Int4
	    real                        :: Real4
	    character(len=10)           :: Char10
	end type DT1
	type(DT1)                       :: DTinput,DToutput
    character, dimension(2,3)       :: CharDim2input
    character, dimension(3,2)       :: CharDim2output

    ! These Try/Catch blocks will trap exceptions that are generated by invalid field values.
    ! The exception is thrown by the Convert method if the argument is invalid.
    ! When an exception is caught, set the field value to zero and pop up a messagebox.
    try         ; Int4input = System%Convert%ToInt32(this%textBox24%Text)
    catch(fmtx) ; this%textBox24%Text => ustring("0"); dr = MessageBox%Show(ustring("Invalid input field set to zero."), ustring("Invalid input"))
    catch       ; this%textBox24%Text => ustring("0"); dr = MessageBox%Show(ustring("Invalid input field set to zero."), ustring("Invalid input"))
    end try
    try         ; Real4input = System%Convert%ToSingle(this%textBox23%Text)
    catch(fmtx) ; this%textBox23%Text => ustring("0"); dr = MessageBox%Show(ustring("Invalid input field set to zero."), ustring("Invalid input"))
    catch       ; this%textBox23%Text => ustring("0"); dr = MessageBox%Show(ustring("Invalid input field set to zero."), ustring("Invalid input"))
    end try
    try         ; DTinput%Int4 = System%Convert%ToInt32(this%textBox21%Text)
    catch(fmtx) ; this%textBox21%Text => ustring("0"); dr = MessageBox%Show(ustring("Invalid input field set to zero."), ustring("Invalid input"))
    catch       ; this%textBox21%Text => ustring("0"); dr = MessageBox%Show(ustring("Invalid input field set to zero."), ustring("Invalid input"))
    end try
    try         ; DTinput%Real4 = System%Convert%ToSingle(this%textBox20%Text)
    catch(fmtx) ; this%textBox20%Text => ustring("0"); dr = MessageBox%Show(ustring("Invalid input field set to zero."), ustring("Invalid input"))
    catch       ; this%textBox20%Text => ustring("0"); dr = MessageBox%Show(ustring("Invalid input field set to zero."), ustring("Invalid input"))
    end try

    ! Convert input fields to Fortran types.
    Int4input       = System%Convert%ToInt32(this%textBox24%Text)
    Real4input      = System%Convert%ToSingle(this%textBox23%Text)
    Char5input      = string(this%textBox22%Text)
    DTinput%Int4    = System%Convert%ToInt32(this%textBox21%Text)
    DTinput%Real4   = System%Convert%ToSingle(this%textBox20%Text)
    DTinput%Char10  = string(this%textBox19%Text)
    
    ! This subroutine is necessary because DLL_IMPORT cannot used in this module.
    call GetScalarData( Int4input,Int4output,&
                        Real4input,Real4output,&
                        Char5input,Char10output,&
                        DTinput,DToutput )

    ! Display results in output fields.                        
    this%textBox1%Text = Int4output%ToString()
    this%textBox2%Text = Real4output%ToString()
    this%textBox3%Text => ustring(Char10output)
    this%textBox6%Text = DToutput%Int4%ToString()
    this%textBox5%Text = DToutput%Real4%ToString()
    this%textBox4%Text => ustring(DToutput%Char10)

    ! Convert array input fields to Fortran types.
    CharDim2input(1,1) = string(this%textBox18%Text)
    CharDim2input(1,2) = string(this%textBox17%Text)
    CharDim2input(1,3) = string(this%textBox16%Text)
    CharDim2input(2,1) = string(this%textBox15%Text)
    CharDim2input(2,2) = string(this%textBox14%Text)
    CharDim2input(2,3) = string(this%textBox13%Text)

    call GetArrayData(CharDim2input,CharDim2output)

    ! Display results in array output fields.                        
    this%textBox7%Text  => ustring(CharDim2output(1,1))
    this%textBox8%Text  => ustring(CharDim2output(1,2))
    this%textBox10%Text => ustring(CharDim2output(2,1))
    this%textBox11%Text => ustring(CharDim2output(2,2))
    this%textBox9%Text  => ustring(CharDim2output(3,1))
    this%textBox12%Text => ustring(CharDim2output(3,2))
end subroutine

subroutine button2_Click(this, sender, e)
    class(Form1) :: this
    class(System%Object),target  :: sender
    class(System%EventArgs),target  :: e
    ! Close form.
    call Dispose(this,.true._1)
end subroutine

end module 
program main
    !.nca (main,add=System%STAThreadAttribute())
    type(WindowsApplication2%Form1),pointer :: form
    allocate( form )
    call System%Windows%Forms%Application%Run(form)
end program
