请教:更改MSFlexGrid单元格背景或文字颜色,只生效一次,为何?
vb吧
全部回复
仅看楼主
level 3
我用代码更改了MSFlexGrid单元格背景或文字颜色,想把它用代码再改成别的颜色时,还显示第一次更改的颜色,不知是什么原因,如何解决?谢谢!
同样,设置格式时也是一样,比如第一次用代码设成左对齐生效,下一次再想用代码设成右对齐,却还显示为左对齐。
尝试解决方法:
1、MSFlexGrid1的Redraw属性在设计时就选的TRUE,使用MSFlexGrid1.Redraw = True也还一样
2、用控件的 Refresh 方法试过了,还是一样。
请问大佬们,该怎么解决?感谢!
2023年11月15日 12点11分 1
level 7
光说 贴代码啊
2023年11月17日 00点11分 2
感谢提示,刚来没几天,还不太懂,现在明白了,谢谢[OK]
2023年11月17日 04点11分
level 13
自己参考吧
2023年11月17日 03点11分 3
感谢解答!用您的代码测试正常。我问题出在用一个窗体代码去控制另一窗体表格,用新建代码测试一个窗体控制另一窗体表格,能够反复控制。测试在写的程序中一个窗体控制另一窗体表格功能,还是之前同样问题:一个窗体代码,只能使另一个窗体表格变一次色,再让表格变一个色时,还显示第一次变的颜色。
2023年11月17日 04点11分
level 3
我问题出在用一个窗体代码去控制另一窗体表格,用新建代码测试一个窗体控制另一窗体表格,能够反复控制。测试在写的程序中一个窗体控制另一窗体表格功能,还是之前同样问题:一个窗体代码,只能使另一个窗体表格变一次色,再让表格变一个色时,还显示第一次变的颜色。
这是出问题的代码:
Private Sub Command1_Click()
Form1.MSFlexGrid1.Col = 2
Form1.MSFlexGrid1.Row = 2
Form1.MSFlexGrid1.CellBackColor = vbRed
End Sub
Private Sub Command2_Click()
Form1.MSFlexGrid1.Col = 2
Form1.MSFlexGrid1.Row = 2
Form1.MSFlexGrid1.CellBackColor = vbBlue
End Sub
问题现象:先点了按钮1后,无论怎么点按钮2,都是红色。若先点了按钮2,再怎么点按钮1,都是蓝色。
奇怪之处:这个代码在新建项目中,一切正常,可以反复变色。
出问题的项目只是个很小的程序,并不复杂,涉及表格的只有把表格赋值、变色操作。现在就是找不到出问题的原因和解决方法。
2023年11月17日 04点11分 4
level 3
这两个按钮在另一个窗体form2中
2023年11月17日 04点11分 5
放在form1中
2023年11月17日 14点11分
@studentxuefei 奇怪的问题现象:同样代码,拿到新建项目中测试一切正常,但在已写的程序中就不正常。新建项目中,form 2可以控制form 1中表格反复变色,但在已写的程序中,form 2只可以控制form 1中表格变一次色,以后按钮再怎么按也是第一次变的颜色。 不知是何缘故?
2023年11月18日 00点11分
level 3
结果汇报:
重写了代码,已能实现原程序中FORM2控制FORM1表格反复变色。
感谢各位吧友的关心与帮助[大拇指]
2023年11月22日 09点11分 6
level 3
问题出在原代码中对表格的行和列进行了重定义,所以无法反复控制。
2023年11月22日 09点11分 7
1