我想修改鼠标右键的内容,可以吗?
就是在运行WINFORM窗体的时候,对着DATAGRID中的一行实行一个右键"删除"命令,就可以完成真正意义上和数据库关联的"删除".这样行吗?要怎么办.指点一哈,谢谢

解决方案 »

  1.   

    public System.Windows.Forms.ContextMenu cm=new ContextMenu();
    public string dept_code;private void setrightment()
    {
                System.Windows.Forms.MenuItem del_menu=new MenuItem();
    del_menu.Index=0;
    del_menu.Text="delete";
    del_menu.Click+=new  System.EventHandler(this.del_click);
    this.cm.MenuItems.Clear();
    cm.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {del_menu});
    }private void dataGrid1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    if (e.Button==System.Windows.Forms.MouseButtons.Right)
    {
    this.setrightment();
    p.X=e.X;
    p.Y=e.Y;
    this.cm.Show(this.dataGrid1,this.p);
    }
                 
    System.Windows.Forms.DataGrid.HitTestInfo hi=dataGrid1.HitTest(e.X,e.Y);
    if(hi.Type==System.Windows.Forms.DataGrid.HitTestType.Cell)
    {
    dataGrid1.Select(hi.Row);
    this.dept_code=this.dataGrid1[hi.Row,1].ToString();
    } }private void del_click(object sender, System.EventArgs e)
    {
    System.Data.OracleClient.OracleConnection myconn=new System.Data.OracleClient.OracleConnection("User Id=miscode;Password=wuscnmis;Data Source=cncl");
    string sql_str="delete from swg"+" where dept_code="+this.dept_code;
    System.Data.OracleClient.OracleCommand mycomm=new System.Data.OracleClient.OracleCommand(sql_str,myconn);

    myconn.Open();
    mycomm.ExecuteNonQuery();
    }