Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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;
 }
Esempio n. 4
0
        /// <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);
        }