请教一下splitContainer的使用问题:
首先,我把From1的属性IsMdiContainer属性设成True,然后放一个splitContainer,其中Panel1是一些按钮,Panel2就放左边按钮点开的窗口。如图
左边按钮打开窗口的事件是这样写的 frm = new AddFrom();
frm.MdiParent = this;
frm.Parent = splitContainer1.Panel2;
frm.Show();现在就有两个问题:
1、AddFrom打开后,窗口里的textBox的光标始终是在最后面,例如,我输入ABCD后我在B后面点击一下鼠标想删掉AB是点不了的,光标始终在最后面。
然后如果我把 frm = new AddFrom();
//frm.MdiParent = this;
//frm.Parent = splitContainer1.Panel2;
frm.Show();
这两行注释掉的话那么这个问题就不存在了;
2、我打开多个窗口的时候,新打开的窗口总是显示在最底层,即我先打开A窗口,然后再打开B窗口,那么B窗口总是会显示在A窗口后面,而不是B窗口显示在A窗口前面。
谢谢!splitContainer鼠标定位问题多窗口显示顺序问题c#
首先,我把From1的属性IsMdiContainer属性设成True,然后放一个splitContainer,其中Panel1是一些按钮,Panel2就放左边按钮点开的窗口。如图
左边按钮打开窗口的事件是这样写的 frm = new AddFrom();
frm.MdiParent = this;
frm.Parent = splitContainer1.Panel2;
frm.Show();现在就有两个问题:
1、AddFrom打开后,窗口里的textBox的光标始终是在最后面,例如,我输入ABCD后我在B后面点击一下鼠标想删掉AB是点不了的,光标始终在最后面。
然后如果我把 frm = new AddFrom();
//frm.MdiParent = this;
//frm.Parent = splitContainer1.Panel2;
frm.Show();
这两行注释掉的话那么这个问题就不存在了;
2、我打开多个窗口的时候,新打开的窗口总是显示在最底层,即我先打开A窗口,然后再打开B窗口,那么B窗口总是会显示在A窗口后面,而不是B窗口显示在A窗口前面。
谢谢!splitContainer鼠标定位问题多窗口显示顺序问题c#
解决方案 »
- [求教:服务器控件 onclick 事件接多个参数的问题]
- [十万火急]关于playsound()函数
- [求助]请大家介绍下ZGraph常用类和方法。。。。
- asp.net 中服务器控件的服务器事件和客户端事件顺序?
- 怎么解决DataGridView控件的绘制错误啊?高手们。来帮帮忙
- 请教在c#如何将结构体数组序列化?
- 请问在windowsform里怎么动态load控件??
- 紧急求助:.Net客户端调用 Java写的webservice问题(关于Soap header)!【不惜一切代价】
- 我想在一个dropdownlist 的下拉列表 显示一个月的31天,请问这个循环怎么写
- 关于表格!急!!!1
- 怎么样把Xml转化为json
- visual studio 2010下C#关于更新数据问题
2、b在显示的时候可以先调用panel2.removecontrols()
把SplitContainer换成Splitter控件,只留左边的panel放按钮,右边空出来作为MDI容器(灰色背景),这样就可以在里面添加MDI子窗口了。看下面的例子: public partial class Form1 : Form
{
public Form1()
{
InitializeComponent(); this.IsMdiContainer = true;
var panel = new Panel {Dock = DockStyle.Left}; // left pannel
var btn = new Button() { Text = "添加mdi子窗口", Location = new Point(10,20), Width = 100};
btn.Click += button1_Click;
panel.Controls.Add(btn);
var splitter = new Splitter() { Width = 10, BackColor = Color.Gray};
this.Controls.AddRange(new Control[] { splitter, panel });
} private void button1_Click(object sender, EventArgs e)
{
var frm = new Form();
frm.MdiParent = this;
var textbox = new TextBox();
frm.Controls.Add(textbox);
//frm.BringToFront();
frm.Show();
}
}如果用工具栏拖控件的话,先拖一个panel,设成dock=left,再拖一个splitter,放在右边(它会自动贴到panel的边上)。
frm.MdiParent = this;
frm.Parent = splitContainer1.Panel2;
frm.Show();2、没有找到你说的panel2.removecontrols()方法