Example #1
0
        /// <summary>
        /// 根据传入的文本框name和值的对应关系给文本框赋值
        /// </summary>
        /// <param name="nameAndVal"></param>
        private void textBoxAssignment(Dictionary <string, string> nameAndVal)
        {
            Dictionary <string, string> dic = nameAndVal;

            foreach (KeyValuePair <string, string> kvp in dic)
            {
                string  name    = kvp.Key;
                string  textVal = kvp.Value;
                Control con     = ControlsUtils.GetControlByName(统计信息G.Controls, name, false);
                con.Text = textVal;
            }
        }
Example #2
0
        /// <summary>
        /// 菜单子选项的总绑定类,执行选项name对应的绑定类
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void MenuItem_Click(object sender, EventArgs e)
        {
            try {
                ToolStripMenuItem tool = (ToolStripMenuItem)sender;
                //获取当前主Tab容器中的文本框
                TextBox t       = null;
                Control control = null;
                // 获得主tab容器
                Control tabCon = ControlCacheFactory.getSingletonCache(DefaultNameEnum.TAB_CONTENT);
                if (tabCon != null && tabCon is TabControl)
                {
                    TabControl tab = (TabControl)tabCon;
                    if (t == null)
                    {
                        control = ControlsUtils.GetControlByName(tab.SelectedTab.Controls, EnumUtils.GetDescription(DefaultNameEnum.TEXTBOX_NAME_DEF), true);
                        if (control != null && control is TextBox)
                        {
                            t = (TextBox)control;
                        }
                    }
                    if (t == null)
                    {
                        control = ControlsUtils.GetFocueControlByType(tab.SelectedTab.Controls);
                        if (control != null && control is TextBox)
                        {
                            t = (TextBox)control;
                        }
                    }
                }
                // 遍历对应关系字典
                foreach (KeyValuePair <string, Delegate> kvp in eventBinding())
                {
                    // 判断当前点击的选项名是否与关系字典中的选项名对应,对应则执行关系字典中的对应方法
                    if (kvp.Key.Equals(tool.Name))
                    {
                        // 判断当前控件是否有与其关联的句柄
                        if (topMenuStrip.IsHandleCreated)
                        {
                            Dictionary <Type, object> data = new Dictionary <Type, object>();
                            data.Add(typeof(TextBox), t);
                            data.Add(typeof(ToolStripMenuItem), tool);

                            topMenuStrip.Invoke(kvp.Value, new object[] { data });
                        }
                    }
                }
            }
            catch (Exception ex) {
                MessageBox.Show(ex.ToString());
            }
        }
        /// <summary>
        /// 获取新标签的文本框
        /// </summary>
        public static TextBox GetNewPageTextBox()
        {
            Control con = null;

            con = ControlCacheFactory.getSingletonCache(DefaultNameEnum.TAB_CONTENT);
            if (con is RedrawTabControl)
            {
                RedrawTabControl redrawTab = (RedrawTabControl)con;
                redrawTab.TransferDddPageInvoke();
                // 获取标签容器中当前标签的文本框
                con = ControlsUtils.GetControlByName(redrawTab.SelectedTab.Controls, EnumUtils.GetDescription(DefaultNameEnum.TEXTBOX_NAME_DEF), true);
            }
            // 转化为文本框
            TextBox textBox = con != null && con is TextBox?(TextBox)con : null;

            return(textBox);
        }