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#单位转换器的图文代码详细介绍

C#在pdf中创建和填充域的详细介绍(图文)

C# 2.0 specification(一)简介

C#+js实现的两个正则替换功能示例分析

C#学习之面向对象如何调用类以及普通方法、静态方法的使用

C#日期格式转换的公共方法类的实现详解

C# winform程序上传图片到指定目录的示例代码

C#是什么?有什么用?

C#开发之winform(公共控件)

unity 3d 浅谈shader 运行时状态及渲染模式遇到的问题

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




打赏

取消

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

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

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

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

评论

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