窗体继承问题 我想设置一个父窗体,其它窗体继承这一窗体,这样用来设置窗体颜色的个性化,但窗体上的其它控件则挡住了一部分,这样看起来很难看,把控件设置成透明色太麻烦,也不好,请问有没有一个很好的解决办法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 步骤1:创建两个窗体2:将第一窗体的IsMdiContainer的属性设置成true;3: 在第一窗体的Form_Load编程private void Form1_Load(object sender, System.EventArgs e) { Form2 frm2=new Form2(); frm2.MdiParent=this; frm2.Show(); }这样第二个窗体就是第一个窗体子窗体。如果要多个窗体继承父窗体是同样的方法,要将窗体实例化。 在外部定义一个静态方法比如public static void SetSkin(Form form)这里对窗体属性赋值然后在FROM里面public override void Refresh() { FormUtil.SetSkin(this); base.Refresh(); } public static void SetSkin(Form form)里面可以这么写foreach (object control in form.Controls) { if (control is TabControl) { int sums = ((TabControl)control).TabPages.Count; for (int i = 0; i < sums; ++i) { ((TabControl)control).TabPages[i].BackColor = skin.BackColors; } } if (control is Button) { ((Button)control).BackColor = skin.ButtonColor; ((Button)control).ForeColor = skin.ButtonFontColor; } if (control is CustomControl.ButtonCustom) { ((CustomControl.ButtonCustom)control).BackColor = skin.ButtonColor; ((CustomControl.ButtonCustom)control).ForeColor = skin.ButtonFontColor; } if (control is CustomControl.CustomButtonAngle) { ((CustomControl.CustomButtonAngle)control).BackColor = skin.ButtonColor; ((CustomControl.CustomButtonAngle)control).ForeColor = skin.ButtonFontColor; } if (control is CustomControl.CustomControlForm) { ((CustomControl.CustomControlForm)control).BackColor = skin.BackColors; } if (control is Panel) { ((Panel)control).BackColor = skin.BackColors; } if (control is TextBox) { ((TextBox)control).ForeColor = skin.TextFontColor; ((TextBox)control).BackColor = skin.TextColor; } if (control is ComboBox) { ((ComboBox)control).ForeColor = skin.TextFontColor; ((ComboBox)control).BackColor = skin.TextColor; } if (control is Label) { ((Label)control).BackColor = skin.BackColors; ((Label)control).ForeColor = skin.FontColor; } if (control is RadioButton) { ((RadioButton)control).ForeColor = skin.RadioButtonBackColor; ((RadioButton)control).BackColor = skin.BackColors; } } 谢谢老师skin是类对象吗?control is TabControl:的意思是不是“控件是否是能接受TAB的控件” 一个奇怪的Win7+IE9 BHO问题 excel导入问题 弱弱的问 注册时怎么把用户名和密码存入数据库 [求助] C# 中的 类数组 问题 绘制曲线的问题 ( winform ) 集合A是集合B的子集,C#什么算法可以求出 B-A ??? 对远程SQL数据库访问如果中断用try/catch捕捉连接要几秒钟,很有什么办法快一点。。。 求助:从BMP图像中识别文本 请问一个关于程序启动和窗体的问题 娱乐搞笑----- 世界各国对中国电影《英雄》的评论 请教高手:如何在C#中控制HTML控件 问一个最弱的问题!初学者也一定会!
1:创建两个窗体
2:将第一窗体的IsMdiContainer的属性设置成true;
3: 在第一窗体的Form_Load编程
private void Form1_Load(object sender, System.EventArgs e)
{
Form2 frm2=new Form2();
frm2.MdiParent=this;
frm2.Show();
}
这样第二个窗体就是第一个窗体子窗体。
如果要多个窗体继承父窗体是同样的方法,要将窗体实例化。
比如public static void SetSkin(Form form)
这里对窗体属性赋值然后在FROM里面
public override void Refresh()
{
FormUtil.SetSkin(this);
base.Refresh();
}
foreach (object control in form.Controls)
{
if (control is TabControl)
{
int sums = ((TabControl)control).TabPages.Count;
for (int i = 0; i < sums; ++i)
{
((TabControl)control).TabPages[i].BackColor = skin.BackColors;
}
}
if (control is Button)
{
((Button)control).BackColor = skin.ButtonColor;
((Button)control).ForeColor = skin.ButtonFontColor;
}
if (control is CustomControl.ButtonCustom)
{
((CustomControl.ButtonCustom)control).BackColor = skin.ButtonColor;
((CustomControl.ButtonCustom)control).ForeColor = skin.ButtonFontColor;
}
if (control is CustomControl.CustomButtonAngle)
{
((CustomControl.CustomButtonAngle)control).BackColor = skin.ButtonColor;
((CustomControl.CustomButtonAngle)control).ForeColor = skin.ButtonFontColor;
}
if (control is CustomControl.CustomControlForm)
{
((CustomControl.CustomControlForm)control).BackColor = skin.BackColors;
}
if (control is Panel)
{
((Panel)control).BackColor = skin.BackColors;
}
if (control is TextBox)
{
((TextBox)control).ForeColor = skin.TextFontColor;
((TextBox)control).BackColor = skin.TextColor;
}
if (control is ComboBox)
{
((ComboBox)control).ForeColor = skin.TextFontColor;
((ComboBox)control).BackColor = skin.TextColor;
}
if (control is Label)
{
((Label)control).BackColor = skin.BackColors;
((Label)control).ForeColor = skin.FontColor;
}
if (control is RadioButton)
{
((RadioButton)control).ForeColor = skin.RadioButtonBackColor;
((RadioButton)control).BackColor = skin.BackColors;
}
}
skin是类对象吗?
control is TabControl:的意思是不是“控件是否是能接受TAB的控件”