读书人

winform开发中子窗口的textbox有关问

发布时间: 2012-04-15 18:39:21 作者: rapoo

winform开发中,子窗口的textbox问题
建立两个form,form1和form2
form1中放入一个textbox1,设为多行,下面放一个panel
form2中放入一个textbox2,设立多行
然后在form1中如此写

C# code
        public Form1()        {            InitializeComponent();            Form2 f2 = new Form2();            f2.TopLevel = false;            this.panel1.Controls.Add(f2);            f2.Show();        }

结果,textbox1输入一大段文字后,可以随便选择,textbox2输入一大段文字后,不可以随便选择,为什么?有没有可以让textbox2也可以随便选择呢?

[解决办法]
this.panel1.Controls.Add(f2);
Panel Control的Add参数,是Control,没有Form,也就是Panel是不能承载Form的。在一个窗体中添加另一个窗体可以用MDI,因种种原因不能用MDI,那可以考虑在Panel中放置自定义控件,干嘛非要整个窗体。
至于panel中添加窗体后,textbox不能自由选中的原因,个人认为是Windows在计算窗体坐标的时候出现问题。LZ可以这样试一下
C# code
        public Form1()        {            InitializeComponent();            Form2 f2 = new Form2();            f2.TopLevel = false;            this.panel1.Controls.Add(f2);            f2.FormBorderStyle = FormBorderStyle.None;            f2.BringToFront();            f2.Show();        } 

读书人网 >C#

热点推荐