积极答复者
皮肤控件能不能不让其应用于指定的窗体

问题
答案
-
你是说一个某个窗体应用了皮肤控件,但是它的弹出的子窗体如messageBox()不被应用对吗?
恐怕这是不可以的。
- 已标记为答案 Lisa ZhuModerator 2012年9月11日 2:48
-
试试skinEngine1.SkinFile.SkinDialogs=false;
- 已标记为答案 ThankfulHeartModerator 2012年9月17日 2:27
全部回复
-
你好,
这个当然可以实现,只需皮肤“初始化”设置代码应用于你需要改变样式的窗体,不希望改变的窗体不应用就可以了。
比如:你希望Form1有某种样式而Form2样式不改变。
只需要在Form1的load事件中添加如下代码,Form2 中不要有任何动作。
private void Form1_Load(object sender, EventArgs e) { this.skinEngine1.SkinFile = "vista1.ssk"; } private void Form2_Load(object sender, EventArgs e) { ..//不要上面那句 }
希望对你有所帮助。
Lisa Zhu [MSFT]
MSDN Community Support | Feedback to us
- 已建议为答案 Heinrich_0.0 2012年9月7日 8:11
- 已标记为答案 Lisa ZhuModerator 2012年9月11日 2:48
- 取消答案标记 ThankfulHeartModerator 2012年9月17日 2:27
-
你好,
这个当然可以实现,只需皮肤“初始化”设置代码应用于你需要改变样式的窗体,不希望改变的窗体不应用就可以了。
比如:你希望Form1有某种样式而Form2样式不改变。
只需要在Form1的load事件中添加如下代码,Form2 中不要有任何动作。
private void Form1_Load(object sender, EventArgs e) { this.skinEngine1.SkinFile = "vista1.ssk"; } private void Form2_Load(object sender, EventArgs e) { ..//不要上面那句 }
-
你好,可是我上面的帖子没有说清楚,想要去掉皮肤的话,只要不对该窗体进行“初始化”就可以了。
例如我上一个帖中代码中的Form2 就保持了原来的样式。
Lisa Zhu [MSFT]
MSDN Community Support | Feedback to us
-
-
你好,
请把你的代码贴出来好吗 ?包括希望加载皮肤和不希望加载皮肤的窗口程序。
谢谢,
这个是主窗体加载皮肤的load事件,我开始只想对后面弹出来的某个窗口不被应用,可是好像这样是不行的,必须要再拖拽一个皮肤控件到指定窗体才可以去掉指定窗体的皮肤,后来我想就对主窗体重新这样设置样式却不可以,请问这个能实现吗?
private void MainForm_Load(object sender, EventArgs e)
{ skinEngine1.SkinFile = Application.StartupPath.EndsWith("\\") ? Application.StartupPath : (Application.StartupPath + "\\") + "WFSkin\\" + back_Skin;
//自行设置样式
label2.ForeColor = Color.White;
User_Name.ForeColor = Color.White;
ok.BackColor = Color.Transparent;
ok.ForeColor = Color.White;
newUser.BackColor = Color.Transparent;
newUser.ForeColor = Color.White;}
-
你是说一个某个窗体应用了皮肤控件,但是它的弹出的子窗体如messageBox()不被应用对吗?
恐怕这是不可以的。
- 已标记为答案 Lisa ZhuModerator 2012年9月11日 2:48
-
试试skinEngine1.SkinFile.SkinDialogs=false;
- 已标记为答案 ThankfulHeartModerator 2012年9月17日 2:27