当前位置: 代码迷 >> VB Dotnet >> 两个窗体间传参有关问题
  详细解决方案

两个窗体间传参有关问题

热度:31   发布时间:2016-04-25 02:14:48.0
两个窗体间传参问题
有两个窗体,Form1和Form2,其中Form1中包含一个空的DataGridView,Form2中是TextBox和“添加”按钮,现在想要实现通过Form2的按钮来操作Form1中的DataGridView,进行Insert(0)和给单元格赋值,不知道该怎么做,请各位指点!
注:用Instance()的方法操作时显示异常:未将对象引用设置到对象的实例
------解决方案--------------------


Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim gzz As New Form1

        gzz.DataGridView1.Rows.Add()
        gzz.DataGridView1.Rows(0).Cells(0).Value = TextBox1.Text
    End Sub

------解决方案--------------------
form1中添加按钮点击

sib form1_addbtn_click()(sender As Object, e As EventArgs) Handles addbtn.Click 
  dim f2 as new form2
  dim f2Data as new DataObject '一个数据类用于交互使用
  f2.Data=f2Data'f2.Data属性 public Data as Object 为宜
  if f2.showdialog() then
      ''对f2Data对行处理生成数据插入DataGridView1中
  end if
end sub 

form2在对textbox操作时实时更新到Data属性

如果初始化时会出错,在new方法中添加
if Data is nothing then Data=new DataObject

public property Data as Object
get
  return _Data
end get
set(Value as Object
 _Data=Value
 dim tData=Ctype(_Data,DataObject)
 '对初始值进行导入到新对象中去
end set
end property


以上代码为手打,仅提供思路,有问题自己调整下就行了,用这种方式,本人写过多个小实例了。
注意此法form2有me.DialogResult返回值

实在不会本人提供有偿远程服务,但得QQ我
  相关解决方案