首先 我很菜,所以问题也菜,见笑了.  我做的是一个窗体,上面添加了一个TabConctrl控件,选项卡0是DataGridView1用来显示数据,选项卡1是与之对应的几个TextBox控件,我的目的是想让鼠标在DataGridView1上单击一个单元格,选项卡1上就会显示出那一行的详细数据,DataGrid我能做,但DataGridView就有点卡壳,还请高手帮忙.

解决方案 »

  1.   

    win 的话 有个CellContentClick事件
    发段事例代码
    private void dgUserInfo_CellContentClick(object sender, DataGridViewCellEventArgs e)
            {
                string userName = dgUserInfo.Rows[e.RowIndex].Cells[0].Value.ToString();
                if (e.ColumnIndex == 5)//删除
                {
                    // MessageBox.Show(dgUserInfo.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString());
                    DialogResult diagmsg = MessageBox.Show("你确认删除本条用户信息吗?", "删除确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                    if (diagmsg == DialogResult.OK)
                    {                    int result = UserInfoManageMentBLL.Delete(userName);
                        if (result > 0)
                        {
                             MessageBox.Show("删除成功");
                            BindData();
                        }
                    }            }
                if (e.ColumnIndex == 6)//修改
                {
                    // MessageBox.Show(dgUserInfo.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString());
                    UserInfo info = new UserInfo();
                    info.UserName = dgUserInfo.Rows[e.RowIndex].Cells[0].Value.ToString();
                    info.Name = dgUserInfo.Rows[e.RowIndex].Cells[1].Value.ToString();
                    info.UserType = dgUserInfo.Rows[e.RowIndex].Cells[2].Value.ToString() == "管理员" ? 1 : 0;
                    info.Status = dgUserInfo.Rows[e.RowIndex].Cells[3].Value.ToString() == "正常" ? 1 : 0;                UserInfoUpdateForm form = new UserInfoUpdateForm();
                    form.UserInfo = info;
                    form.ShowDialog();
                    if (form.DialogResult == DialogResult.Cancel)
                    {
                        BindData();
                    }
                }
            }
      

  2.   

    用 textbox.text =  this.dataGridView1.SelectedRows[0].Cells["yourcol"].Value.ToString();
    yourcol 可以换成数字索引
      

  3.   

    string id = dataGridView1.CurrentRow.Cells["id"].Value.ToString();
    可以获取当前行列名为id的值
      

  4.   

            Dim imgbtn As Image = CType(sender, Image)
            Dim dfc As DataControlFieldCell = CType(imgbtn.Parent, DataControlFieldCell)
            Dim gvr As GridViewRow = CType(dfc.Parent, GridViewRow)
            gridview.SelectedIndex = gvr.RowIndex
         
      

  5.   

            private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
            {
                int id = dataGridView1.CurrentRow.Index;
            }
      

  6.   

    正确 答案 :
            private void ClickInDG(object sender, MouseEventArgs e)
            {
                string xuhao = this.dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[0].Value.ToString();
                this.autoID = xuhao;
            }