C#中继承窗体会导致控件消失的问题解决
2011-06-22 21:59
603 查看
网上的东西真是害死人,大部分都是不负责的Ctrl+V来的
最近要做一个类似PPT的WINFORM程序,100多个页面,想到用基类来解决,不然会累到吐血的,自定义窗体/控件都很简单,可继承过来后的子窗体只要放一个控件上去,运行后控件就神秘消失了,但在属性窗口能看到,证实是存在的,GG之后发现这个问题还真是N多,解决方法就是:
1,据说不断打设计窗口N次
2.删除BIN中的vshost.exe文件
3.在Form.Designer.cs中 的窗体生成代码,应该默认是在 #region Windows 窗体设计器生成的代码 这部分的最后一节,加上如下代码:
this.Controls.Add(this.xxxxxx);
xxxxxx为新添加的控件名
经过我N次的努力尝试,都不行!!
网上大多给的是第3种解决方法,可惜我这里不行,也许是版本问题吧,本人的环境为:XP+VS2005 SP2 TEAM 版
其实还要,加上这样一句:
this.Controls.SetChildIndex(this.xxxxxx, 0);
后来想了下,也许是因为继承的父窗口中有个Panel,而Panel控件在继承后默认却是置顶的,挡住了继承后窗体上的控件,所以导致在继承后的窗体会看不到,有帖子还说是由于自定义控件的BUG,把SetChildIndex设置后,我又放上个自定义控件,也正常了!
PS:刚发现如果修改了InitializeComponent中的代码,只要你不管拖动了子窗体中的哪个控件,那你刚刚改的控件就又变成不可见了,刚添加的代码又消失了......这个BUG真NB了,好像VS2008,VS2010也都有.......
解决办法就是:
新添加控件后锁定控件,然后在属性窗口改位置,这样不会消失
最近要做一个类似PPT的WINFORM程序,100多个页面,想到用基类来解决,不然会累到吐血的,自定义窗体/控件都很简单,可继承过来后的子窗体只要放一个控件上去,运行后控件就神秘消失了,但在属性窗口能看到,证实是存在的,GG之后发现这个问题还真是N多,解决方法就是:
1,据说不断打设计窗口N次
2.删除BIN中的vshost.exe文件
3.在Form.Designer.cs中 的窗体生成代码,应该默认是在 #region Windows 窗体设计器生成的代码 这部分的最后一节,加上如下代码:
this.Controls.Add(this.xxxxxx);
xxxxxx为新添加的控件名
经过我N次的努力尝试,都不行!!
网上大多给的是第3种解决方法,可惜我这里不行,也许是版本问题吧,本人的环境为:XP+VS2005 SP2 TEAM 版
其实还要,加上这样一句:
this.Controls.SetChildIndex(this.xxxxxx, 0);
后来想了下,也许是因为继承的父窗口中有个Panel,而Panel控件在继承后默认却是置顶的,挡住了继承后窗体上的控件,所以导致在继承后的窗体会看不到,有帖子还说是由于自定义控件的BUG,把SetChildIndex设置后,我又放上个自定义控件,也正常了!
PS:刚发现如果修改了InitializeComponent中的代码,只要你不管拖动了子窗体中的哪个控件,那你刚刚改的控件就又变成不可见了,刚添加的代码又消失了......这个BUG真NB了,好像VS2008,VS2010也都有.......
解决办法就是:
新添加控件后锁定控件,然后在属性窗口改位置,这样不会消失
相关文章推荐
- 【转帖】解决继承窗体或用户控件时“visual继承当前被禁用,因为基类引用设备特定的组件或包含 p/invoke”问题
- 关于c#窗体控件突然消失的解决办法
- C# 解决panel或者其他控件叠加时,此控件背景透明,显示的背景色为窗体背景色问题
- 解决继承窗体或用户控件时“visual继承当前被禁用,因为基类引用设备特定的组件或包含 p/invoke”问题(转)
- 解决继承窗体或用户控件时“visual继承当前被禁用,因为基类引用设备特定的组件或包含 p/invoke”问题【转】
- 对于C#中,窗体中设计好的控件,突然不见了问题的解决
- 解决继承窗体或用户控件时“visual继承当前被禁用,因为基类引用设备特定的组件或包含 p/invoke”问题
- 【C#】解决devexpress新建的Form窗体没有继承默认样式的问题
- 【C#】 解决winform窗体闪烁问题
- C#中跨线程访问控件问题解决方案
- 【C#】在窗体中水平居中的控件,到了XP下不居中的解决办法
- 【手记】小心在where中使用NEWID()的大坑 【手记】解决启动SQL Server Management Studio 17时报Cannot find one of more components...的问题 【C#】组件分享:FormDragger窗体拖拽器 【手记】注意BinaryWriter写string的小坑——会在string前加上长度前缀length-prefixed
- C#中动态创建控件 出现创建窗口句柄出错问题解决。
- C# winform imageList控件加载图像失真问题的解决办法
- 【C#】MDI父窗体嵌套子窗体 切换时闪屏问题解决办法
- [代码问题解决录]C#非模式窗体所遇到的问题与解决方案
- 完美解决C#Webbrowser控件设置Cookie问题
- C#.net从一个窗体引用另一个窗体控件的问题
- C#获取容器窗体中控件Location问题
- [C#]解决statusStrip控件上的项目不能靠右对齐的问题