c#中如何从access表中 修改和删除记录啊??
   我有两个窗体 我想从第一个窗体把datagrid中的值赋到下个窗体的控件中 使用什么语句 假如:一个窗体是 form1 另外一个是form2 在form一中的一个按钮中我写了这样的代码form2.textbox.Text = ds.Tables[0].Rows[dataGrid1.CurrentCell.RowNumber][2].ToString().Trim();owNumber][2].ToString().Trim();
为什么提示说不是静态变量需要引用之类的??

解决方案 »

  1.   


    这是很基本的概念性问题了,你首先必须分清楚类成员和对象成员的区别。
    通过类名.变量名,这样用的是类成员,必须用static修饰。否则你需要先实例,也就是需要引用了。
      

  2.   

    CON-如何在子窗体(被调用者)中实现对其父窗体(调用者)的刷新呢? 
    网络上有几种方法,先总结如下: 
    调用窗体(父):Form1,被调用窗体(子):Form2 
    方法1: 所有权法 
    //Form1: 
    //需要有一个公共的刷新方法 
    public void Refresh_Method() 

    //... 

    //在调用Form2时,要把Form2的所有者设为Form1 
    Form2 f2 = new Form2() ; 
    f2.Owner = this; 
    f2.ShowDialog() ; 
    //Form2: 
    //在需要对其调用者(父)刷新时 
    Form1 f1 ; 
    f1 = (Form1)this.Owner; 
    f1.Refresh_Method() ; 
    方法2:自身传递法 
    //Form1: 
    //需要有一个公共的刷新方法 
    public void Refresh_Method() 

    //... 

    Form2 f2 = new Form2() ; 
    f2.ShowDialog(this) ; 
    //Form2: 
    private Form1 p_f1; 
    public Form2(Form1 f1) 

    InitializeComponent(); 
    p_f1 = f1; 

    //刷新时 
    p_f1.Refresh_Method() ; 
    方法3:属性法 
    //Form1: 
    //需要有一个公共的刷新方法 
    public void Refresh_Method() 

    //... 

    //调用时 
    Form2 f2 = new Form2() ; 
    f2.P_F1 = this; 
    f2.Show() ; //Form2: 
    private Form1 p_f1; 
    public Form1 P_F1 

    get{return p_f1;} 
    set{p_f1 = value;} 

    //刷新时 
    p_f1.Refresh_Method() ; 
    方法4:委托法 
    //声明一个委托 
    public delegate void DisplayUpdate(); 
    //Form1: 
    //需要有一个公共的刷新方法 
    public void Refresh_Method() 

    //... 

    //调用时 
    Form2 f2 = new Form2() ; 
    f2.ShowUpdate += new DisplayUpdate(Refresh_Method) ; 
    f2.Show() ; 
    //Form2: 
    //声明事件 
    public event DisplayUpdate ShowUpdate; 
    //刷新时,放在需要执行刷新的事件里 
    ShowUpdate();
      

  3.   

    Form1窗体:
    先定义全局静态变量:
    public static string strpass = "";
    按钮事件:
     for(int i=0;i<this.datagrid.RowCount;i++)
    {
       if(this.datagrid.Rows[i].selected==true)
        {
           strpass=this.datagrid.Rows[i].cells[0].value.tostring();//取datagrid所选中行的第一个字段值
        }}
    Form2窗体:
    this.textbox.text=Form1.strpass;//把值给FORM2的textbox