这个最好是用通用控件的事件来做.
看下函数委托的资料.
把控件的事件委托到WINFORM的过程函数中.

解决方案 »

  1.   

    >>1. 一个通用控件,怎样引用包含它的WinForm, 运行时可以改变其控件
    的属性(如text等)? 
    我觉得没有必要得到WinForm,如果你要改变一个TextBox中的东西,可以用这两种简单的方法.
    1). 在UserControl中定义一个这样的函数,传递一个TextBox过去.
    public void MyFoo(TextBox aTextBox)
    {
      //对这个aTextBox的改变就会反映的Form中
    }
    调用:
    usercontrol1.MyFoo(this.textBox1);2).如果是简单的要改变TextBox的Text的话,可以在usercontrol中定义一个属性,在Form中使用这个属性.
    this.textBox1.Text = usercontrol1.MyText;复杂的计算,写在MyText的get过程中.>>2. 如何引用一个dataset中的表,运行时改写一些值,但这些更改可以
    保存的(即: 向控件传递的是一个引用,而不是副本)
    dataset就是引用传递的,直接使用就可以;比如:
    DataSet ds = new DataSet();
    ...
    userControl1.ChangDs(ds);