winform获得焦点问题。查询后未能解决!!!高分求解
我的程序是这样的,主form上一个splitContainer分为左右两边。左边方了一个treeView,右边空的。我点击一个button实现新form的实例化。
点击事件
select s1 = new select();
s1.Name = System.DateTime.Now.ToString();
s1.Text = System.DateTime.Now.ToString();
s1.TopLevel = false;
this.splitContainer1.Panel2.Controls.Add(s1);
s1.Parent = this.splitContainer1.Panel2;
s1.TopMost = true;
s1.Show();
s1.Activate();
现在这段代码运行没有问题,可是在panel2中s1始终不能获得焦点。
我用splitContainer1的主要目的是可以调节两边区域的大小。
请大虾帮我想想办法解决一下。(1、尽量获得焦点。2、使用其他容器也可以用户控制划分两边的大小。)
类似SQL的查询分析器的效果。
------解决方案--------------------赞同hbxtlhx(平民百姓)
你可以在button的click事件中加上
Form f = new Form();
f.MdiParent = this;
mdiClient.Controls.Add(f);
f.Visible = true;
------解决方案--------------------你这应该用MDI子窗体来做。
------解决方案--------------------你要做成查询分析器的效果啊,这好说啊,你不要用splitContainer1这个控件,而是直接把TreeView控件加入Mdi主窗体,设置Dock为Left显示,再添加一个splitter,Dock也是设置为Left,这样运行程序试试看左边的子窗体是不是有焦点了,是不是像查询分析器了?
记得不能用splitContainer1,把它去掉,直接加Treeview及splitter