C# 温莎城堡:国际奥委会对SWF控件的分辨率,无外观和感觉剥皮

C# 温莎城堡:国际奥委会对SWF控件的分辨率,无外观和感觉剥皮,c#,winforms,inversion-of-control,look-and-feel,castle,C#,Winforms,Inversion Of Control,Look And Feel,Castle,我正在使用在IoC容器中注册的几个服务。有一个接口服务,可以从我的主应用程序中访问表单。接口由 public interface IFormService { System.Windows.Forms.Form Form { get; } } 例如,由一个类MainFormService实现,该类返回主表单实例 container.Register( Component.For<IFormService>() .ImplementedBy&

我正在使用在IoC容器中注册的几个服务。有一个接口服务,可以从我的主应用程序中访问表单。接口由

public interface IFormService
{
    System.Windows.Forms.Form Form { get; }
}
例如,由一个类MainFormService实现,该类返回主表单实例

container.Register(
    Component.For<IFormService>()
             .ImplementedBy<MainFormService>()
             .Named("Application.Forms.MainForm")
    );
应用程序初始化后,我将使用此服务检索表单并让应用程序运行:

Form mainForm = this.ServiceContainer
                    .Resolve<IFormService>("Application.Forms.MainForm")
                    .Form;
Application.Run(mainForm);
这很好用。唯一的问题是表单上的控件看起来有点像:


在以后的开发中,我想切换到使用DevExpress皮肤,这似乎会产生同样的问题。为什么会发生这种情况?我怎样才能正确地解决这个问题


提前感谢。

为什么会发生这种情况,我如何才能正确解决?为什么会发生什么?如果您还没有设计Windows窗体的样式,那么这就是它的预期外观。是的,我知道这一点。尽管在窗体设计器中,该按钮具有默认的Win7主题。但是为什么主题信息没有通过服务解析表单与控件一起传递呢?啊,没关系。看起来我在使用主窗体运行之前忘记调用Application.EnableVisualStyles。谢谢你的提示