/// <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; } }
/// <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); }