日期:2014-05-17  浏览次数:20845 次

向panel加入窗体的时候,文本框里的文字不能选中
rt
必须把窗体FormBorderStyle = FormBorderStyle.None;的时候文本框里的文字才能选中,可是这样就不美观了
想到重绘了,就是把标题栏重绘到窗体内的工作区。无奈水平不济达不到,而且还要解决最大化,最小化和关闭的功能。

------解决方案--------------------
很好奇你是如何将一个窗体放入Panel中的。
通常,将一个窗口放入另一个窗口,都是多文档界面,父窗口IsMdiContainer设置为True,将自窗口的MdiParent属性指向父窗口中。

我想,你把窗口放置在Panel的想法是,父窗口不仅仅是一个外框,它的上下左右可能存在一些操作面板(就像Word一样)。于是你试图在父窗口中间放一个Panel,里面放上窗口。如果能够实现,由于窗口标题栏高度的问题,导致了你描述的不可选中的问题。

但是,为什么要这么做呢?你将父窗口的四周放上Panel,使用Dock属性设置停靠为某一侧,同样实现了上面的效果,只不过窗口中间不是Panel,而是子窗口的容器,使用多文档界面这样就完全没有问题了。

------解决方案--------------------
引用:
绝对不是由于窗口标题栏高度的问题,导致了你描述的不可选中的问题。
FormBorderStyle = FormBorderStyle.None就可以选中了

大约明白了,没错,如果FormBorderStyle 不设为none的话,panel中的窗体是不可操作的。