Beispiel #1
0
        /// <summary>
        /// 调用控件线程方法
        /// </summary>
        /// <param name="args">参数</param>
        public void OnInvoke(object args)
        {
            CMessage     message = (CMessage)args;
            List <Macro> macros  = new List <Macro>();

            MacroService.GetMacros(macros, message.m_body, message.m_bodyLength);
            int macrosSize = macros.Count;

            switch (message.m_functionID)
            {
            case MacroService.FUNCTIONID_MACRO_ADDMACROS:
                AddMacrosToGrid(macros);
                break;

            case MacroService.FUNCTIONID_MACRO_DELETEMACROS:
            {
                Dictionary <String, GridRow> mRowsMap = GetMacroRows();
                for (int i = 0; i < macrosSize; i++)
                {
                    Macro macro = macros[i];
                    if (mRowsMap.ContainsKey(macro.m_macroID))
                    {
                        m_gridMacros.RemoveRow(mRowsMap[macro.m_macroID]);
                    }
                }
                m_gridMacros.Update();
                break;
            }

            case MacroService.FUNCTIONID_MACRO_UPDATEMACROS:
            {
                Dictionary <String, GridRow> mRowsMap = GetMacroRows();
                for (int i = 0; i < macrosSize; i++)
                {
                    Macro macro = macros[i];
                    if (mRowsMap.ContainsKey(macro.m_macroID))
                    {
                        mRowsMap[macro.m_macroID].GetCell(1).Text = macro.m_name;
                    }
                }
                break;
            }
            }
            m_window.Invalidate();
        }