请问MDI窗口的框内背景色怎么改变

CalvinDotNet 2004-01-14 09:59:08
谢谢
...全文
114 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
HapTears 2004-01-15
  • 打赏
  • 举报
回复
转贴(http://expert.csdn.net/Expert/topic/2664/2664649.xml?temp=.4528314)
修改MDI窗口的主背景是MS不推荐的,但如果你需要可以使用下面的方法:

1——
原理:
MDI窗口有一个叫MDICLIENT的窗口对象作为主背景窗口,要修改MDI窗口的背景就是修改该MDICLIENT的背景

2——
关键:
如何获得MDICLIENT对象

3——
方法:
MDICLIENT是作为MDI窗口的一个CHILDCONTROL的形式存在的,因此我们可以通过遍历CONTROLS对象集来获得

4——
示例:
下面的代码把MDI窗口的主背景修改为兰色(如果你有特别的处理请作相应的处理)

private System.Windows.Forms.MdiClient m_MdiClient;
public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
int iCnt=this.Controls.Count;
for(int i=0;i<iCnt;i++)
{
if(this.Controls[i].GetType().ToString()=="System.Windows.Forms.MdiClient")
{
this.m_MdiClient=(System.Windows.Forms.MdiClient)this.Controls[i];
break;
}
}
this.m_MdiClient.BackColor=System.Drawing.Color.Blue;
}
lkal4587 2004-01-15
  • 打赏
  • 举报
回复
this.BackColor

this.BackgroundImage
984437 2004-01-15
  • 打赏
  • 举报
回复
同意两位楼上的。
dahuzizyd 2004-01-15
  • 打赏
  • 举报
回复
在主窗体的构造函数中的
InitializeComponent();
后面添加上:
foreach(Control c in this.Controls)

{

if(c is MdiClient)

{

c.BackColor = this.BackColor; //颜色
c.BackgroundImage = this.BackgroundImage; //背景

}

}

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧