在用程序动态添加控件时,如何控制控件的顺序位置? 我做的学习程序里面想做这么一个功能,点击一个按钮,在Tab里面新建一个TabPage,Tabpage的内容是一个自定义控件,自定义控件生成后,在主窗口上新增一个ToolStrip,现在我用this.Controls.Add(toolstrip1);可以让这个toolstrip显示出来,但是它总是显示在窗口的最上面,如何调整它的位置,让它处于菜单栏和已有的工具栏的下面呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 toolstrip1.Location=new Point(x,y);toolstrip1.Size=new Size(width,height); 布局要使用容器来组合控件,不能那么大胆、随意地绝对定位。例如菜单、工具栏应该使用Panel并且设置dock。 控件的BringToFront()方法可以把某个控件放到最上面。利用这个方法把必须放在上面的控件(比如菜单)拉上来就好了。 我也是觉得不能简单的用location来定位,可能会在resize的过程中出现问题谁能给个示例啊我目前是下面这样的,但是总是显示在最上面,设置了Location也没用 private void toolStripButton1_Click(object sender, EventArgs e) { bool AccountTabIsExist=false; foreach (TabPage tpTemp in tabControl1.TabPages)//find tpAccount tabpage { if (tpTemp.Text == "Account") { AccountTabIsExist = true; break; } } if (AccountTabIsExist) { tabControl1.SelectTab("tpAccount"); } else { //create a new tpAccount page TabPage tpAccount; tpAccount = new TabPage("Account"); tpAccount.Name = "tpAccount"; ucAccount ucA = new ucAccount(); ucA.Dock = DockStyle.Fill; tpAccount.Controls.Add(ucA); tabControl1.TabPages.Add(tpAccount); tabControl1.SelectTab(tpAccount); BindingNavigator navibarAccount = new BindingNavigator(ucA.tbAccountBindingSource); //下面这一行设置了Location,但是并没有改变位置 //navibarAccount.Location = new System.Drawing.Point(toolStrip1.Location.X, toolStrip1.Location.Y + toolStrip1.Size.Height); this.Controls.Add(navibarAccount); } } 好,接楼上的!up ++++++++++可以先设置 控件对象的container,然后定义控件在该container 中的位置这样不容易乱 比如:this.panel1.Container .Add (tabControl1);tabControl1.Dock = DockStyle.Fill ;以上仅供参考 利用异或来判断输入数值的奇偶性 派生类重载与派生类重写有什么区别。 serialPort显示数据问题 如何把一个数组的值赋给另外一个数组 在.net中找到Java中的相似的几个包 关于web.config的问题,,郁闷... VS 2005 命令工具配置 [求助]C#有哪些比较好的开源报表!带源码的? Windows应用程序在指定位置添加数据如何实现? 怎么把.TXT文件里的数据导入到ORACLE数据库里啊,各位老大,急啊! 每次我都要一个一个改成"宋体, 12pt",请问改哪个配置,可以缺省实现字体和大小. 检测键盘缓冲区变化
toolstrip1.Size=new Size(width,height);
谁能给个示例啊
我目前是下面这样的,但是总是显示在最上面,设置了Location也没用
private void toolStripButton1_Click(object sender, EventArgs e)
{
bool AccountTabIsExist=false;
foreach (TabPage tpTemp in tabControl1.TabPages)//find tpAccount tabpage
{
if (tpTemp.Text == "Account")
{
AccountTabIsExist = true;
break;
}
}
if (AccountTabIsExist)
{
tabControl1.SelectTab("tpAccount");
}
else
{
//create a new tpAccount page
TabPage tpAccount;
tpAccount = new TabPage("Account");
tpAccount.Name = "tpAccount";
ucAccount ucA = new ucAccount();
ucA.Dock = DockStyle.Fill;
tpAccount.Controls.Add(ucA);
tabControl1.TabPages.Add(tpAccount);
tabControl1.SelectTab(tpAccount);
BindingNavigator navibarAccount = new BindingNavigator(ucA.tbAccountBindingSource);
//下面这一行设置了Location,但是并没有改变位置
//navibarAccount.Location = new System.Drawing.Point(toolStrip1.Location.X, toolStrip1.Location.Y + toolStrip1.Size.Height);
this.Controls.Add(navibarAccount);
}
}
可以先设置 控件对象的container,然后定义控件在该container 中的位置这样不容易乱
tabControl1.Dock = DockStyle.Fill ;
以上仅供参考