解决  DataGridView选定的单元格未获取。

tim8w

众所周知的成员
加入
9月8日,2020年
消息
90
编程经验
10+
你好,
我有一个具有多行的行的数据报表。我有包裹打开,工作正常。问题是,当我单击一个单元格时,选择的单元格未设置,并且没有设置seelctedbaclcolor和selectedforeColor。我一直在对DataGridView的设置以及我的生活,我看不到任何导致这一点的东西。我在其他程序中有其他数据的DataGridView,该程序工作正常,当我比较所有DatagGridView设置时,我找不到与那个没有的那样有效的任何不同的东西。任何专注于找到问题的想法吗?
 

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,955
地点
切萨皮克,va.
编程经验
10+
通过任何机会,您是否覆盖了DataGridView的WNDProc?或者您是否为Cel​​l Click,Cell Enter实施了一些事件处理程序,而不遵循正确的协议来处理事件?
 

tim8w

众所周知的成员
加入
9月8日,2020年
消息
90
编程经验
10+
通过任何机会,您是否覆盖了DataGridView的WNDProc?或者您是否为Cel​​l Click,Cell Enter实施了一些事件处理程序,而不遵循正确的协议来处理事件?
不可以。我唯一的事件是CellMouseEnter()和CellMouseLeave()所以我可以显示/删除自定义工具提示和CellMousEclick(),因此我可以允许用户复制小区内容。我在其他程序中没有自定义工具提示。可能是CellMouseEnter,离开是影响Cellmouseclick吗?

C#:
        private void dgvProduction_CellMouseEnter(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex >= 0)
            {
                if (dgvProduction[e.ColumnIndex, e.RowIndex].ToolTipText.Length > 0)
                {
                    tooltip = new frmCustomToolTip();
                    tooltip.ToolTipText = dgvProduction[e.ColumnIndex, e.RowIndex].ToolTipText.ToString();
                    tooltip.StartPosition = FormStartPosition.Manual;
                    tooltip.Location = new Point(this.Location.X + dgvProduction.Location.X + dgvProduction.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, false).Location.X + 15, this.Location.Y + dgvProduction.Location.Y + dgvProduction.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, false).Location.Y + dgvProduction.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, false).Height / 2);
                    tooltip.Show();
                }
            }
        }

        private void dgvProduction_CellMouseLeave(object sender, DataGridViewCellEventArgs e)
        {
            if (tooltip != null)
            {
                tooltip.Close();
                tooltip = null;
            }
        }
 

tim8w

众所周知的成员
加入
9月8日,2020年
消息
90
编程经验
10+
不可以。我唯一的事件是CellMouseEnter()和CellMouseLeave()所以我可以显示/删除自定义工具提示和CellMousEclick(),因此我可以允许用户复制小区内容。我在其他程序中没有自定义工具提示。可能是CellMouseEnter,离开是影响Cellmouseclick吗?

C#:
        private void dgvProduction_CellMouseEnter(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex >= 0)
            {
                if (dgvProduction[e.ColumnIndex, e.RowIndex].ToolTipText.Length > 0)
                {
                    tooltip = new frmCustomToolTip();
                    tooltip.ToolTipText = dgvProduction[e.ColumnIndex, e.RowIndex].ToolTipText.ToString();
                    tooltip.StartPosition = FormStartPosition.Manual;
                    tooltip.Location = new Point(this.Location.X + dgvProduction.Location.X + dgvProduction.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, false).Location.X + 15, this.Location.Y + dgvProduction.Location.Y + dgvProduction.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, false).Location.Y + dgvProduction.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, false).Height / 2);
                    tooltip.Show();
                }
            }
        }

        private void dgvProduction_CellMouseLeave(object sender, DataGridViewCellEventArgs e)
        {
            if (tooltip != null)
            {
                tooltip.Close();
                tooltip = null;
            }
        }
我忘了,原本他们不想要显示的选择。我错过了我清除了选择的活动选择了......谢谢您的帮助...
 
最佳 底部