static void Main(string[] args) { string info = null; Thread thread1 = new Thread(new ThreadStart(() => { Method("使用Thread开启新线程", 2, out info); })); thread1.Start(); Console.WriteLine("使用Thread开启的新线程开始运行"); Console.WriteLine("主线程执行其它任务"); Console.WriteLine("等待线程结束"); thread1.Join(); Console.WriteLine("线程结束"); Console.WriteLine(info); methodDelegate method = new methodDelegate(Method); IAsyncResult iar = method.BeginInvoke("无返回值的方法异步执行", 2, out info, null, null); Console.WriteLine("主线程执行其它任务"); Console.WriteLine("等待线程结束"); //while(iar.IsCompleted) //{ // ; //} method.EndInvoke(out info, iar); Console.WriteLine("线程结束"); Console.WriteLine(info); Console.Read(); }
private void button10_Click(object sender, EventArgs e) { var tem = new methodDelegate(methodDelegateTest); // tem.Invoke("32432",4243); tem("543543", 4343); }
//constructor to set the delegate to be actioned on public LeafNode(methodDelegate action) { actualAction = action; }
/// <summary> /// 右键菜单选项对应的执行类 /// </summary> /// <param name="t">需要操作的文本框</param> /// <returns>Dictionary的对应关系,key为右键菜单选项的name,value为委托类</returns> private Dictionary <string, Delegate> eventBinding() { Dictionary <string, Delegate> toolBindingDic = new Dictionary <string, Delegate>(); /**===============委托区域============*/ methodDelegate allTextToLower = new methodDelegate((Dictionary <Type, object> data) => { TextBox t = (TextBox)data[typeof(TextBox)]; TextBoxUtils.TextBoxAddTag(t, TextBoxTagKey.TEXTBOX_EMPTY_NOT_CACHED, true); TextBoxUtils.TextBoxToLower(t, 0); return(null); }); methodDelegate allTextToUpper = new methodDelegate((Dictionary <Type, object> data) => { TextBox t = (TextBox)data[typeof(TextBox)]; TextBoxUtils.TextBoxAddTag(t, TextBoxTagKey.TEXTBOX_EMPTY_NOT_CACHED, true); TextBoxUtils.TextBoxToUpper(t, 0); return(null); }); methodDelegate clearAllSpaces = new methodDelegate((Dictionary <Type, object> data) => { TextBox t = (TextBox)data[typeof(TextBox)]; TextBoxUtils.TextBoxAddTag(t, TextBoxTagKey.TEXTBOX_EMPTY_NOT_CACHED, true); TextBoxUtils.TextBoxDeleteSpace(t); return(null); }); /**===============绑定区域============*/ toolBindingDic.Add(this.全选Item.Name, new methodDelegate((Dictionary <Type, object> data) => { TextBox t = (TextBox)data[typeof(TextBox)]; TextBoxUtils.TextBoxAllSelect(t); return(null); })); toolBindingDic.Add(this.中整行Item.Name, new methodDelegate((Dictionary <Type, object> data) => { TextBox t = (TextBox)data[typeof(TextBox)]; if (t is RedrawTextBox) { Point mousrP = ((RedrawTextBox)t).MouseMoveLocation; t.SelectionStart = t.GetCharIndexFromPosition(new Point(mousrP.X, mousrP.Y - 6)); } int i = t.GetFirstCharIndexOfCurrentLine(); int len = t.Lines[t.GetLineFromCharIndex(i)].Length; t.Select(i, len); return(null); })); toolBindingDic.Add(this.智能选择Item.Name, new methodDelegate((Dictionary <Type, object> data) => { TextBox t = (TextBox)data[typeof(TextBox)]; if (t is RedrawTextBox) { Point mousrP = ((RedrawTextBox)t).MouseMoveLocation; t.SelectionStart = t.GetCharIndexFromPosition(new Point(mousrP.X, mousrP.Y - 6)); } intelligentSelectText(t); return(null); })); toolBindingDic.Add(this.剪切Item.Name, new methodDelegate((Dictionary <Type, object> data) => { TextBox t = (TextBox)data[typeof(TextBox)]; TextBoxUtils.TextBoxCuttingText(t); return(null); })); toolBindingDic.Add(this.制Item.Name, new methodDelegate((Dictionary <Type, object> data) => { TextBox t = (TextBox)data[typeof(TextBox)]; TextBoxUtils.TextBoxCopyText(t); return(null); })); toolBindingDic.Add(this.粘贴Item.Name, new methodDelegate((Dictionary <Type, object> data) => { TextBox t = (TextBox)data[typeof(TextBox)]; TextBoxUtils.TextBoxAddTag(t, TextBoxTagKey.TEXTBOX_EMPTY_NOT_CACHED, true); TextBoxUtils.TextBoxPasteText(t); return(null); })); toolBindingDic.Add(this.除Item.Name, new methodDelegate((Dictionary <Type, object> data) => { TextBox t = (TextBox)data[typeof(TextBox)]; TextBoxUtils.TextBoxDeleteText(t); return(null); })); toolBindingDic.Add(this.去除_空格_Item.Name, new methodDelegate((Dictionary <Type, object> data) => { clearAllSpaces.Invoke(data); rightMenuStrip.Close(); return(null); })); toolBindingDic.Add(this.去除_空格_全部空格_Item.Name, clearAllSpaces); toolBindingDic.Add(this.去除_空格_行首空格_Item.Name, new methodDelegate((Dictionary <Type, object> data) => { TextBox t = (TextBox)data[typeof(TextBox)]; TextBoxUtils.TextBoxAddTag(t, TextBoxTagKey.TEXTBOX_EMPTY_NOT_CACHED, true); TextBoxUtils.TextBoxDelRowFirstSpace(t); return(null); })); toolBindingDic.Add(this.去除_空格_行尾空格_Item.Name, new methodDelegate((Dictionary <Type, object> data) => { TextBox t = (TextBox)data[typeof(TextBox)]; TextBoxUtils.TextBoxAddTag(t, TextBoxTagKey.TEXTBOX_EMPTY_NOT_CACHED, true); TextBoxUtils.TextBoxDelRowTailSpace(t); return(null); })); toolBindingDic.Add(this.去除_空行_Item.Name, new methodDelegate((Dictionary <Type, object> data) => { TextBox t = (TextBox)data[typeof(TextBox)]; TextBoxUtils.TextBoxAddTag(t, TextBoxTagKey.TEXTBOX_EMPTY_NOT_CACHED, true); TextBoxUtils.TextBoxDelBlankLine(t); return(null); })); toolBindingDic.Add(this.去除_换行符_Item.Name, new methodDelegate((Dictionary <Type, object> data) => { TextBox t = (TextBox)data[typeof(TextBox)]; TextBoxUtils.TextBoxAddTag(t, TextBoxTagKey.TEXTBOX_EMPTY_NOT_CACHED, true); TextBoxUtils.TextBoxPlaceNewline(t); return(null); })); toolBindingDic.Add(this.去除_制表符_Item.Name, new methodDelegate((Dictionary <Type, object> data) => { TextBox t = (TextBox)data[typeof(TextBox)]; TextBoxUtils.TextBoxAddTag(t, TextBoxTagKey.TEXTBOX_EMPTY_NOT_CACHED, true); TextBoxUtils.TextBoxPlaceTabs(t); return(null); })); toolBindingDic.Add(this.清空文本框Item.Name, new methodDelegate((Dictionary <Type, object> data) => { TextBox t = (TextBox)data[typeof(TextBox)]; TextBoxUtils.TextBoxClearText(t); return(null); })); toolBindingDic.Add(this.转化为_大写形式_Item.Name, new methodDelegate((Dictionary <Type, object> data) => { allTextToUpper.Invoke(data); rightMenuStrip.Close(); return(null); })); toolBindingDic.Add(this.转化为_大写形式_全部_Item.Name, allTextToUpper); toolBindingDic.Add(this.转化为_大写形式_行首_Item.Name, new methodDelegate((Dictionary <Type, object> data) => { TextBox t = (TextBox)data[typeof(TextBox)]; TextBoxUtils.TextBoxAddTag(t, TextBoxTagKey.TEXTBOX_EMPTY_NOT_CACHED, true); TextBoxUtils.TextBoxToUpper(t, 1); return(null); })); toolBindingDic.Add(this.转化为_大写形式_行尾_Item.Name, new methodDelegate((Dictionary <Type, object> data) => { TextBox t = (TextBox)data[typeof(TextBox)]; TextBoxUtils.TextBoxAddTag(t, TextBoxTagKey.TEXTBOX_EMPTY_NOT_CACHED, true); TextBoxUtils.TextBoxToUpper(t, 2); return(null); })); toolBindingDic.Add(this.转化为_大写形式_自定义_Item.Name, new methodDelegate((Dictionary <Type, object> data) => { return(null); })); toolBindingDic.Add(this.转化为小写形式_Item.Name, new methodDelegate((Dictionary <Type, object> data) => { allTextToLower.Invoke(data); rightMenuStrip.Close(); return(null); })); toolBindingDic.Add(this.转化为_小写形式_全部_Item.Name, allTextToLower); toolBindingDic.Add(this.转化为_小写形式_行首_Item.Name, new methodDelegate((Dictionary <Type, object> data) => { TextBox t = (TextBox)data[typeof(TextBox)]; TextBoxUtils.TextBoxAddTag(t, TextBoxTagKey.TEXTBOX_EMPTY_NOT_CACHED, true); TextBoxUtils.TextBoxToLower(t, 1); return(null); })); toolBindingDic.Add(this.转化为_小写形式_行尾_Item.Name, new methodDelegate((Dictionary <Type, object> data) => { TextBox t = (TextBox)data[typeof(TextBox)]; TextBoxUtils.TextBoxAddTag(t, TextBoxTagKey.TEXTBOX_EMPTY_NOT_CACHED, true); TextBoxUtils.TextBoxToLower(t, 2); return(null); })); toolBindingDic.Add(this.转化为_小写形式_自定义_Item.Name, new methodDelegate((Dictionary <Type, object> data) => { return(null); })); toolBindingDic.Add(this.转化为_驼峰形式_大驼峰_Item.Name, new methodDelegate((Dictionary <Type, object> data) => { TextBox t = (TextBox)data[typeof(TextBox)]; TextBoxUtils.TextBoxAddTag(t, TextBoxTagKey.TEXTBOX_EMPTY_NOT_CACHED, true); TextBoxUtils.TextBoxToHump(t, 0); return(null); })); toolBindingDic.Add(this.转化为_驼峰形式_小驼峰_Item.Name, new methodDelegate((Dictionary <Type, object> data) => { TextBox t = (TextBox)data[typeof(TextBox)]; TextBoxUtils.TextBoxAddTag(t, TextBoxTagKey.TEXTBOX_EMPTY_NOT_CACHED, true); TextBoxUtils.TextBoxToHump(t, 1); return(null); })); return(toolBindingDic); }