做数据库的时候,想自己写一个用户自定义控件,主要工作就是 “上一个,下一个,到头,到尾”,我想在用户自定义控件里面定义一个BindingSource,然后在使用的时候直接将一个当前的BindingSource传进去,现在发现如果要是直接传的话只是一个值传递,如何能用类似地址传递的方法呢?测试过ref不能用//主程序:
        private void frmOne_Load(object sender, EventArgs e)
        {
            myfrmnav.navBinding = myBindingSource;    
        }
//用户控件
 public partial class myFrmNav1 : UserControl
    {
         public BindingSource navBinding=new BindingSource();        public myFrmNav1()
        {
            InitializeComponent();
        }        private void button2_Click(object sender, EventArgs e)
        {
            navBinding.MoveNext();
        }    }

解决方案 »

  1.   

    需要地址传递?
    bindsource就是将数据表内容放入其中,取出来就是值啊,
    地址传递不知道什么意思。
      

  2.   

    先不管地址传递不传递,现在我用上面的方法,主界面中的数据根本就不动!重新改了一下,如下:  public  void SetNav(ref BindingSource bs)
            {
                navBinding = bs;        }调用的时候  myfrmnav.SetNav(ref myBindingSource)不能用,达不到预期效果!
      

  3.   

    我是这么理解的,bindingsource控件是存放数据的后台控件,而要实现显示效果,那需要结合DataGridView控件或BindingNavigator控件实现显示或者是导航(MoveNext、MoveLast等)