您的位置:程序门 -> .net技术 -> c#



窗体间传参


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


窗体间传参[已结贴,结贴人:daneilhao]
发表于:2007-03-27 10:02:30 楼主
在form1上有个datagridview,它有两个字段datagridviewtextboxcolumn和datagridviewcheckboxcolumn,这两个字段都是由用户输入的。在form2上有个treeview树,需要显示form1中满足datagridviewcheckboxcolumn(选中或者不选中)条件的datagridviewtextboxcolumn作为树的节点。请问怎么操作啊
发表于:2007-03-27 10:06:461楼 得分:2
用委托或者全局变量
发表于:2007-03-27 10:14:242楼 得分:0
我特怕窗体间传参数了,我不太会用委托,用全局变量是怎么做的啊?需要在form1上用一个数组保存datagridviewtextboxcolumn值吗?或者说我的form1窗口不关闭,在form2窗口中直接定义全局变量调用?
发表于:2007-03-27 10:16:593楼 得分:0
用一个数组保存datagridviewtextboxcolumn值
发表于:2007-03-27 10:17:384楼 得分:10
public   static   string   []   s   ;
发表于:2007-03-27 12:30:565楼 得分:2
我也不怎么会用委托,这种事情我首先考虑的是通过字符串数组传递参数(适用于参数少的如:传个名称即可的情况),或者就是用arraylist,里面动态保存你增删以后的最终结果(可以是一个一个的类对象),这样在传给form2肯定是没有问题的。
    唉,技术水平有限,只能用这种低级方法了。呵呵。。。   大侠们不要笑撒!
发表于:2007-03-27 12:41:576楼 得分:4
1,如果你是及时的,比如form1只要点击了,form2就要马上变,你可以把写一个委托(函数指针),form2   生成一个委托对象,注册给form1   的事件中,可以动态相应。


2,如果不是及时的,可以把view作为参数传给form2   ,然后抓值
发表于:2007-03-27 12:54:467楼 得分:2
将form1的成员定义成public
发表于:2007-03-28 09:15:208楼 得分:0
谢谢大家,我还是通过全局变量来完成的。代码如下:
public   static   string[]   str=new   string[100];
  j   =   0
for   (int   i   =   0;   i   <   datagridview1.rowcount;   i++)
{
                             
      if   (convert.toboolean(datagridview1.rows[i].cells[2].value)   ==   true)
      {
                str[j]   =   datagridview1.rows[i].cells[1].value.tostring();
                j++;
        }
}


快速检索

最新资讯
热门点击