C# winform 中如何实现tabControl1控件页面跳转?通过主页面上的菜单栏(见图)选择后,并跳出相应的页面
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# winform 中如何实现tabControl1控件页面跳转?通过主页面上的菜单栏(见图)选择后,并跳出相应的页面相关的知识,希望对你有一定的参考价值。
本人想通过主页面上的菜单栏(见图)选择后,跳转到另一个窗口,并跳出相应的tabpage页面,请问怎么实现,是C#的。求解!最好仔细点,多谢!
菜单栏图片:
tabControl1控件:
以上2张图片不是在同一个窗体!!
设第一个图片的名字叫form1,第二个是form2,并把form2的tag设为0。
【tag在属性窗口中就可以设置】
form1中:
分别把部门设置、服装类别管理、奖惩类别管理三个菜单的tag的设为0,1,2。.
在form1中写入下面的函数:
private void openSetWindows(object sender, EventArgs e)
Form2 f = (Form2)Application.OpenForms["Form2"];
if (f == null)
f = new Form2();
f.Tag = (sender as ToolStripMenuItem).Tag;
f.Show();
把部门设置、服装类别管理、奖惩类别管理的click事件全部设为openSetWindows。把这几个字粘贴到click右边就行。如下图:
在form2中的shown事件中写入:
private void Form2_Shown(object sender, EventArgs e)
tabControl1.SelectedIndex = int.Parse(this.Tag.ToString());
就可以了。
这样,将自动打开对应的tabpage。
参考技术A 很简单啊,三个菜单打开的都是同一个子窗体,而且都是固定的,那么代码都是一样的,只是传递一个不同的参数就好了,比如部门管理就是0,服装加工类别管理就是1,奖惩类别管理就是2,“系统管理”这个窗体初始化完成后,根据传递过来的参数确定TabControl这个控件的SelectedPage就是你要的效果了,至于参数的传递有很多种方式,选一个你习惯用的就好了。希望对你有帮助,如有疑问请追问或是Hi追问
TabControl这个控件的SelectedPage 这边要怎么接受呢 ?或者说是怎么编写?我试了很多种都出不来结果。。。请指教
追答很简单的嘛,就是一个Int类型的参数,比如子窗体是Form2,那么找到它的构造函数,修改如下:
public Form2(int selected)
InitializeComponent();
this.tabControl1.SelectedIndex=selected;
调用的时候如下:
Form2 nForm=new Form2(1); //给它一个参数指定默认页面,1就是第二个,0就是第一个
nForm.Show();
再问下,,当跳出我选择的那个tabpage后,,我想另外两个页面设置为不可点击操作 怎么设置呀。。
追答稍微修改一下上面的代码就可以了,当然你也可以移除掉不想让用户点击的页面:
int _selected;
public Form2(int selected)
initializeComponent();
_selected=selected;
this.tabControl1.SelectedIndex=_selected;
private void tabControl1_SelectedIndexChanged(object sender,EventArgs e)
this.tabControl1.SelectedIndex=_selected;
_selected=selected;这样写是什么意思呀。。。谢谢你呀 ,,受教了。。还有个小问题问问你,,
我要分别从三张表中计算出 一个月的 “考勤工资”,"加工工资“ 和 ”基本工资“,然后再把这三个字段的内容 以及相应的员工的一些基本信息插入到工资表里去,sql语句应该怎么写啊。。
这样写的目的就是获取一个在构造函数中传递过来的参数的值,用于下面TabControl控件的选中项索引切换事件当中,因为在此事件中是访问不到selected这个参数的;
后一个问题是先用三条查询语句查出三个工资的值,然后再取得其它信息形成一条记录,最后一条插入语句插入到指定的表就可以。查询和插入语句网上一搜一大堆,习惯用三层架构,基本不写SQL语句的,就说下思路,语句你搜一下吧
我也是用三层架构,,只是想把 你说的三条查询语句和取得其他信息的一条记录 以及最后的一条插入语句 合并写成一条SQL语句,不想分这么多步来实现。。呵呵 。。不过,多谢你哈。。嘿嘿
追答写成一个方法,调用就完了
本回答被提问者采纳c#的winform打印程序如何实现一张纸上打印两份内容(如图)
类似图片,如果单独一张纸打印一个标题,一个内容,我已经实现;但是两个标题,该如何做
参考技术A设置份数就行了嘛
本回答被提问者采纳 参考技术B 你的意思是把上面的图片打印到一张纸上吧? 如果是这样,可以显示,用GDI+绘制一下,然后计算一下坐标就可以实现了 参考技术C 用rdlc报表,简单易用免费,具体请百度以上是关于C# winform 中如何实现tabControl1控件页面跳转?通过主页面上的菜单栏(见图)选择后,并跳出相应的页面的主要内容,如果未能解决你的问题,请参考以下文章