找回密码
 立即注册

QQ登录

只需一步,快速开始

hiliuyong

初级会员

37

主题

61

帖子

270

积分

初级会员

积分
270
hiliuyong
初级会员   /  发表于:2021-9-10 00:18  /   查看:1804  /  回复:1
  1.         public MainForm(LoginForm frm)
  2.         {
  3.             this.loginForm = frm;
  4.             InitializeComponent();
  5.             ChangeTheme(Common.ThemeName);
  6.         }
复制代码

我自己写了一个ChangeTheme的方法,进来系统之后,重新设置一下配色方案,但是明显感觉配色方案执行了两次,一次是系统自定义的,另外一次是我代码执行的,
有没有方法执行一次呢,
我在InitializeComponent();前加 this.c1ThemeController1.Theme = "Windows8Red";
代码在VS中不报错,但是无法运行,
请问正确的做法是什么?

1 个回复

正序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-9-10 10:16:02
沙发
本帖最后由 Richard.Ma 于 2021-9-10 10:19 编辑

这样加应该会报错的,因为c1ThemeController1是在InitializeComponent才初始化 的

你现在的需求是想要在程序初始化时指定一个默认的主题吗,如果在设计界面,用c1ThemeController1提供的窗口选择一个就行,
还是说要通过代码设置一个默认主题,我测试了一下,在初始化以后再进行设置也是没有问题的,并没有颜色变化或者闪烁之类的现象
  1. c1ThemeController1.Theme= "MacBlue";
复制代码



回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部