c# datagridview 如何判断某单元格是否被选中

时间:2021-01-09 09:02:06
[size=18px][size=14px]datagridview有两列 如何判断鼠标选择其中某单元格是否被选择.
还有个问题 datagridview.rows[index].cells[index].values.tostring(); 来获取单元格中的值,如果单元格为空的话,这段代码就提示异常,如何解决,请各位高手,大侠帮帮忙
[/size][/size]

5 个解决方案

#1


单元格有 Selected属性,判断就行

为空,自己先判断一下,是否为空,不要上来就ToString

#2


单元格有 Selected属性,判断是否为true,如果为true表示已被选中

#3


我是个新手麻烦高手写下Selected判断实现代码,谢谢啊

#4



 private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (dataGridView1.Rows[0].Cells[1].Selected)
            {
                //do something
            }
        }

#5



 private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected)
            {
                MessageBox.Show(string.Format("第{0}行第{1}列被选中",e.RowIndex+1,e.ColumnIndex+1));
            }
        }


或者


        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            int intRow = 5;
            int intColumn = 5;
            if (intRow <= dataGridView1.Rows.Count - 1 && intColumn<=dataGridView1.Columns.Count-1)  //判断行、列索引是否超出各自的范围
            {
                //do something
            }
        }

#1


单元格有 Selected属性,判断就行

为空,自己先判断一下,是否为空,不要上来就ToString

#2


单元格有 Selected属性,判断是否为true,如果为true表示已被选中

#3


我是个新手麻烦高手写下Selected判断实现代码,谢谢啊

#4



 private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (dataGridView1.Rows[0].Cells[1].Selected)
            {
                //do something
            }
        }

#5



 private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected)
            {
                MessageBox.Show(string.Format("第{0}行第{1}列被选中",e.RowIndex+1,e.ColumnIndex+1));
            }
        }


或者


        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            int intRow = 5;
            int intColumn = 5;
            if (intRow <= dataGridView1.Rows.Count - 1 && intColumn<=dataGridView1.Columns.Count-1)  //判断行、列索引是否超出各自的范围
            {
                //do something
            }
        }