C#开发 WinForm如何在选项卡中集成加载多个窗体 实现窗体复用详解(图)


当前第2页 返回上一页

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Reflection;

using System.Text;

using System.Windows.Forms;

 

namespace tabWindowTest

{

    public partial class Form1 : Form

    {

        public int[] s = {0, 0};         //用来记录from是否打开过

 

        public Form1()

        {

            InitializeComponent();

        }

 

        private void Form1_Load(object sender, EventArgs e)

        {

            //初始打开时就加载Form2

            string formClass = "tabWindowTest.Form2";

            GenerateForm(formClass, tabControl1);

        }

 

        private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)

        {

            if(s[tabControl1.SelectedIndex]==0)    //只生成一次

            {

                btnX_Click(sender, e);

            }

        }

 

        /// <summary>

        /// 通用按钮点击选项卡 在选项卡上显示对应的窗体

        /// </summary>

        private void btnX_Click(object sender, EventArgs e)

        {

            string formClass = ((TabControl)sender).SelectedTab.Tag.ToString();

 

            //string form = tabControl1.SelectedTab.Tag.ToString();

 

            GenerateForm(formClass, sender);

 

        }

 

 

        //在选项卡中生成窗体

        public void GenerateForm(string form, object sender)

        {

            // 反射生成窗体

            Form fm = (Form)Assembly.GetExecutingAssembly().CreateInstance(form);

 

            //设置窗体没有边框 加入到选项卡中

              fm.FormBorderStyle = FormBorderStyle.None;

            fm.TopLevel = false;

            fm.Parent = ((TabControl)sender).SelectedTab;

            fm.ControlBox = false;

            fm.Dock = DockStyle.Fill;

            fm.Show();

 

            s[((TabControl)sender).SelectedIndex] = 1;

 

        }

    }

}

以上就是C#开发 WinForm如何在选项卡中集成加载多个窗体 实现窗体复用详解(图)的详细内容!

返回前面的内容

相关阅读 >>

C#中tostring数据类型格式大全(千分符)总结

新手学习.net编程计划-1

.net框架-详细介绍winform房贷分析器(图文)

具体介绍C#编程获取ip地址的方法

详解C#创建dll类库的方法分享(图文)

C#如何将datatable中的列名复制到另一个datatable

关于C#中三个关键字params,ref,out的详细介绍

C#实现windows剪贴板监视器的代码具体介绍

C#中值类型和引用类型简单概述

使用C#如何在pdf文件添加图片印章的详细介绍

更多相关阅读请进入《C#》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...