1
yhj
2024-07-24 5e5d945e91568b973faa27d8ab0bcef99fc4a6c5
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
using System;
///*************************************************************************/
///*
///* 文件名    :IMdiForm.cs                                
///* 程序说明  : MDI主窗体接口
///* 原创作者  :孙中吕 
///* 
///* Copyright 2006-2021 C/S框架网 www.csframework.com
///*
///**************************************************************************/
using System.Collections;
using System.Windows.Forms;
 
namespace CSFrameworkV5.Core
{
    /// <summary>
    /// MDI主窗体接口
    /// </summary>
    public interface IMdiForm
    {
        /// <summary>
        ///主窗体的工具栏 
        /// </summary>
        IToolbarRegister MdiToolbar { get; set; }
 
        /// <summary>
        /// 主窗体的观察者
        /// </summary>
        IObserver[] MdiObservers { get; }
 
        /// <summary>
        /// 注册主窗体工具栏的按钮
        /// </summary>
        void RegisterMdiButtons();
 
        /// <summary>
        /// 主窗体上的按钮集合
        /// </summary>
        IList MdiButtons { get; }
 
        /// <summary>
        /// 所有模块主菜单的集合
        /// </summary>
        MenuStrip MainMenu { get; }
 
        /// <summary>
        /// 显示模块的主窗体
        /// </summary>
        //void ShowModuleContainerForm(string moduleDisplayName);
 
        /// <summary>
        /// 激活当前模块窗体
        /// </summary>
        /// <param name="moduleDisplayName"></param>
        void ActiveModule(string moduleDisplayName, string moduleMainMenu);
 
        /// <summary>
        /// 打开某个模块的窗体
        /// </summary>
        /// <param name="formFullName">窗体的名字空间</param>
        /// <param name="associatedMenuName">窗体关联的菜单名</param>
        /// <param name="param">传入参数</param>
        Form OpenModuleForm(string formFullName, string associatedMenuName,
            object param);
 
        /// <summary>
        /// 打开某个模块的窗体
        /// </summary>
        /// <param name="quickCommand">命令对象</param>        
        /// <returns></returns>
        Form OpenModuleForm(object quickCommand);
 
        /// <summary>
        /// 获取框架全局的对象类型(包括所有DLL模块的对象类型)
        /// </summary>
        /// <param name="objNamespace"></param>
        /// <returns></returns>
        Type GetGlobalType(string objNamespace);
 
        /// <summary>
        /// 获得指定窗体的button控件----根据按钮名称
        /// </summary>
        Control GetModuleMainFormButtonByBtnName(string formFullName,
            string btnName);
 
        /// <summary>
        /// 获得指定窗体的button控件----根据菜单名称
        /// </summary>
        Control GetModuleMainFormButtonByMenuName(string formFullName,
            string menuName);
 
        /// <summary>
        /// 获得指定窗体的button控件名称----根据菜单名
        /// </summary>
        string GetModuleMainFormButtonNameByMenuName(string formFullName,
            string menuName);
 
        /// <summary>
        /// 更新模块按钮排版
        /// </summary>
        /// <param name="formFullName"></param>
        void UpdateModuleButtonLocal(string formFullName);
 
        /// <summary>
        /// 获取ToolBar的按钮组件
        /// </summary>
        /// <param name="buttonName">按钮名称</param>
        /// <returns></returns>
        object GetToolBarButton(string buttonName);
 
        /// <summary>
        /// 删除模块功能(主菜单和导航菜单)
        /// </summary>
        /// <param name="menuName">菜单名称</param>
        /// <returns></returns>
        bool RemoveFunction(string menuName);
    }
}