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控件页面跳转?通过主页面上的菜单栏(见图)选择后,并跳出相应的页面的主要内容,如果未能解决你的问题,请参考以下文章

C#的winform中如何实现按钮闪烁发光?

在C#中如何实现winform窗体的全屏截图功能

C#的winform程序如何实现mp3文件的播放啊?

C# Winform中如何实现窗体之间的跳转

c# winform中如何实现跟随光标的放大镜

c# winform 如何实现选择另一台电脑上目录下的文件??