沫沫08 发表于 2024-6-13 10:27:56

StyleNew.BackColor 赋颜色时颜色为什么变更的范围不对?

本帖最后由 沫沫08 于 2024-6-13 12:44 编辑

button7按下时,选择CellRange(2, 2, 3, 4)范围给StyleNew.BackColor 赋颜色,CellRange(2, 2, 3, 4)这个范围会改变红色
但是button8按下时,再次选择GetCellRange(3, 3)一个单元,给StyleNew.BackColor 赋颜色时,为什么CellRange(2, 2, 3, 4)整个范围会改变蓝色,而不是预想中的GetCellRange(3, 3)一个单元格变色?
代码如下:
private void button7_Click(object sender, EventArgs e)
   {
         CellRange rg;
         rg = FlexGrid1.GetCellRange(2, 2, 3, 4);
         rg.StyleNew.BackColor = Color.Red;
   }

   private void button8_Click(object sender, EventArgs e)
   {
         CellRange rg;
         rg = FlexGrid1.GetCellRange(3, 3);
         rg.StyleNew.BackColor = Color.Blue;
   }



Richard.Ma 发表于 2024-6-13 18:28:41

请给一个复现问题的demo,我们来协助看看是什么原因

沫沫08 发表于 2024-6-14 14:42:00

Richard.Ma 发表于 2024-6-13 18:28
请给一个复现问题的demo,我们来协助看看是什么原因

demo如附件
先点击button7,再点击button8或者button9的现象都不正确

Richard.Ma 发表于 2024-6-14 18:27:09

收到,这边调查一下,然后给你回复

沫沫08 发表于 2024-6-24 10:52:08

Richard.Ma 发表于 2024-6-14 18:27
收到,这边调查一下,然后给你回复

你好,有结果吗?:)

Richard.Ma 发表于 2024-6-25 09:20:26

GetCellRange(3, 3)的StyleNew和你第一次设置的CellRange(2, 2, 3, 4)的styleNew是一个对象,所以会造成颜色都被修改了

你可以这样写
            CellRange rg;
            rg = c1FlexGrid1.GetCellRange(3, 3);
            var style1=c1FlexGrid1.Styles.Add("NewStyle1");
            style1.BackColor = Color.Blue;
            rg.Style= style1;




沫沫08 发表于 2024-7-9 11:05:47

Richard.Ma 发表于 2024-6-25 09:20
GetCellRange(3, 3)的StyleNew和你第一次设置的CellRange(2, 2, 3, 4)的styleNew是一个对象,所以会造成颜 ...

已解决,谢谢

Richard.Ma 发表于 2024-7-9 11:45:07

:loap1:
页: [1]
查看完整版本: StyleNew.BackColor 赋颜色时颜色为什么变更的范围不对?