11
A
回答
24
MDI控件的实际BackGround颜色基于Windows当前主题中的颜色。您必须在WinForm内物理设置MdiClient控件的背景。
// #1
foreach (Control control in this.Controls)
{
// #2
MdiClient client = control as MdiClient;
if (!(client == null))
{
// #3
client.BackColor = GetYourColour();
// 4#
break;
}
}
编辑 - 添加的注释:
我们需要穿过的MdiParent形式的控制环路发现,当你设置的形式是的MdiParent是被添加了MDICLIENT控制。 Foreach只是一个集合类型的简单迭代。
我们需要在表单中找到MdiClient控件,为此,我们使用'as'关键字在循环内投射当前控件。使用'as'关键字表示如果强制转换无效,则被设置的变量将为空。因此我们检查'客户'是否为空。如果是,则循环中的当前控件不是MdiClient控件。只要变量'client'不为null,那么我们掌握的控件就是MdiClient,我们可以设置它的背景颜色。
将backcolour设置为任何你想要的。只需将“GetYourColour()”替换为任何你想要的颜色,即Color.White,Color.Blue,Colour.FromArgb(等)...
因为只有1个MdiClient,所以没有意义继续循环因为这只是浪费处理时间。因此我们称之为'break'来退出循环。
让我知道你是否想要别的解释。
0
用您的MDI表单的加载方式将其写入。
Controls.OfType<MdiClient>().FirstOrDefault().BackColor = Color.Purple;
相关问题
- 1. 无法更改背景颜色MDI C++
- 2. 更改表背景
- 3. 在.net中更改MDI容器窗体的背景图片或背景图片
- 4. 设置背景MDI表格的形象
- 5. C#MDI家长通过单击MDI父背景获得焦点
- 6. 更改背景
- 7. 更改底部菜单项的背景
- 8. 更改单击背景的身体 - AngularJS
- 9. 更改Android菜单的背景颜色
- 10. 将背景图像添加到MDI表单
- 11. 更改DataGridRowHeaderStyle(背景)?
- 12. 更改progressdialog背景
- 13. 更改UIPopover背景
- 14. jquery背景更改
- 15. UIImagePicker更改背景?
- 16. 更改数据表的列背景
- 17. 表单背景
- 18. 动态更改选项菜单背景
- 19. 更改单选按钮背景图像
- 20. 更改背景颜色单独
- 21. 更改菜单/模块标题背景
- 22. 在tableView上更改背景单元格?
- 23. Android单击后更改背景颜色
- 24. 基于表单输入更改单元格背景(PHP和JS)
- 25. MDI父级背景上的控件
- 26. div中的背景更改
- 27. 更改UISearchBar的textField背景
- 28. 的ListView更改背景
- 29. 更改按钮的背景
- 30. 更改CFWindow的背景色
感谢您的回复。借助您的编码,我现在可以更改MDI表单的背景颜色。 我需要一个更多的帮助。由于我是C#的新手,如果可能的话,你能解释一下编码吗? 非常感谢! – sheetal 2009-07-07 03:53:52