c# Winform 继承窗体 无法拖动修改控件大小
问题描述:
一个窗体集成父窗体,发现无法直接拖动修改的控件,比如修改大小等
特征:
不禁使父窗体控件,就算新加一个控件也会这样:鼠标放到控件移动手方块上会出现一个“继承的控件”的tooptip,
异常正常情况
原因:
父窗体设置了WindowState属性为:System.Windows.Forms.FormWindowState.Maximized
在父窗体的designer.cs中有这么一句话:
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
解决办法:
一、去掉这句话
二、放在窗体构造函数中,在这句话前面加上判断,如果VS处于设计模式,就返回
public frmBaseChild() { InitializeComponent(); if (CheckDesingModel.IsDesingMode) return;//如果处于设计模式,返回 this.WindowState = System.Windows.Forms.FormWindowState.Maximized; }
CheckDesingModel类:
internal class CheckDesingModel
{
public static bool IsDesingMode
{
get
{
bool ReturnFlag = false;
if (LicenseManager.UsageMode == LicenseUsageMode.Designtime)
ReturnFlag = true;
else if (System.Diagnostics.Process.GetCurrentProcess().ProcessName == "devenv")
ReturnFlag = true;
//if (ReturnFlag)
// Msg.Warning("设计模式");
//else Msg.Warning("非设计模式!");
return ReturnFlag;
}
}
}
作者:冰封一夏
出处:http://www.cnblogs.com/bfyx/
HZHControls官网:http://www.hzhcontrols.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,
且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
GitHub:https://github.com/kwwwvagaa/NetWinformControl
码云:https://gitee.com/kwwwvagaa/net_winform_custom_control.git