【简单问题】如何用MenuStrip实现页面切换 我想实现上图这样一个功能, 在MenuStrip里面通过点击切换页面,而窗体始终保持一个,窗体最上面的菜单栏和标题栏等不变,而下面有一个活动的区域。类似于浏览器的标签页切换,像tabpage控件,不过每个区域的切换由MenuStrip完成。才开始学C#,虚心求教。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 去看看tabcontrol控件,边学边应用。 刚刚看了下,可以把tabpage设置成button形式, 但是这样的话没有下拉菜单。我想通过menustrip来实现tabpage的切换,请问该怎么处理。 #region 窗体统一动作 private void tab_Container_DoubleClick(object sender, EventArgs e) { ((TabControl)sender).SelectedTab.Controls.Clear(); ((TabControl)sender).TabPages.Remove(((TabControl)sender).SelectedTab); } private void OpenForm(Form subform) { TabPage tp = new TabPage(); tp.Text = subform.Text; bool boolean = true; foreach (TabPage item in tab_Container.TabPages) { if (item.Text == tp.Text) { boolean = false; this.tab_Container.SelectedTab = item; break; } } if (boolean) { subform.TopLevel = false; subform.FormBorderStyle = FormBorderStyle.None; subform.Parent = tp; tp.AutoScroll = true; tp.Parent = tab_Container; subform.AutoScroll = true; subform.Size = tp.Size; subform.Anchor = ((AnchorStyles)(((AnchorStyles.Top | AnchorStyles.Left) | AnchorStyles.Right | AnchorStyles.Bottom))); subform.Show(); tab_Container.SelectedTab = tp; } } #endregionOpenForm方法为窗体的统一打开方法,单击需打开窗体的菜单:在事里添加:basic.clientinfor subform = new basic.clientinfor(); OpenForm(subform);而tab_Container_DoubleClick为双击tabcontrol事件也就是关闭tabpage。 你的菜单栏还是你的菜单栏,只是在显示区域加一个tabcontrol控件,我理解你的需求是:单击菜单时打开窗体,让窗体显示在最前面,并且多个窗体间可以任意的切换。是否理解有误。 额。。又遇到问题了。。 C#如何打开加密的excel文件? 如何:设置 Windows 窗体 DataGridView 控件中的数据格式 讨论WSAX, WSE, MSMQ, .Net Remoting, Enterprise Service和WCF的优缺点?顶者有分! 计算图象文件头 怎么在Windows Service 里使用 ActiveX 求Select控件在客户端的操作问题 鼠标问题 提问:c#技术问题,如何替换文本框内容 用C#做一个chrome的插件问题 asp.net数据库连接 *** 算法 计算数组中斜率较大的段 ***
我想通过menustrip来实现tabpage的切换,请问该怎么处理。
#region 窗体统一动作
private void tab_Container_DoubleClick(object sender, EventArgs e)
{
((TabControl)sender).SelectedTab.Controls.Clear();
((TabControl)sender).TabPages.Remove(((TabControl)sender).SelectedTab);
} private void OpenForm(Form subform)
{
TabPage tp = new TabPage(); tp.Text = subform.Text; bool boolean = true;
foreach (TabPage item in tab_Container.TabPages)
{ if (item.Text == tp.Text) { boolean = false; this.tab_Container.SelectedTab = item; break; } }
if (boolean)
{
subform.TopLevel = false; subform.FormBorderStyle = FormBorderStyle.None; subform.Parent = tp;
tp.AutoScroll = true; tp.Parent = tab_Container; subform.AutoScroll = true; subform.Size = tp.Size;
subform.Anchor = ((AnchorStyles)(((AnchorStyles.Top | AnchorStyles.Left) | AnchorStyles.Right | AnchorStyles.Bottom)));
subform.Show(); tab_Container.SelectedTab = tp;
}
}
#endregion
OpenForm方法为窗体的统一打开方法,
单击需打开窗体的菜单:在事里添加:
basic.clientinfor subform = new basic.clientinfor(); OpenForm(subform);而tab_Container_DoubleClick为双击tabcontrol事件
也就是关闭tabpage。