Beispiel #1
0
        public void SafeDel(string keycoder)
        {
            if (this.listViewWorkstation.InvokeRequired)
            {
                DelCallback d = new DelCallback(SafeDel);
                this.Invoke(d, new object[] { keycoder });
            }
            else
            {
                int pos = -1;
                for (int i = 0; i < this.listViewWorkstation.Items.Count; i++)
                {
                    for (int j = 0; j < this.listViewWorkstation.Items[i].SubItems.Count; j++)
                    {
                        if (this.listViewWorkstation.Items[i].SubItems[j].Text == keycoder)
                        {
                            pos = i;
                            break;
                        }
                    }

                    if (pos != -1)
                    {
                        break;
                    }
                }
                this.listViewWorkstation.Items[pos].Remove();
            }
        }
Beispiel #2
0
        //Result 값을 외부에서 가져갈수있도록 프로퍼티화

        public void Add(int n1, int n2)
        {
            Result = (float)n1 + n2;

            //Callback 호출 발생..
            //미리 등록된 함수를 호출시키는과정
            //1.암시적으로 invoke 함수를 호출시킴
            DelCallback(n1, n2, '+', Result);
            //2.명시적 호출방법
            DelCallback.Invoke(n1, n2, '+', Result);
        }
Beispiel #3
0
    public static void Main(string[] Agrs)
    {
        //Del handler = new Del(DelegateMethod);
        Del         handler  = DelegateMethod;
        DelCallback chanlder = MethodWithCallback;

        handler("Pakistan is my land");
        //MethodWithCallback(45,31,handler);
        chanlder(45, 31, handler);
        Console.ReadKey();
    }
Beispiel #4
0
        /// <summary>
        /// 开始变化
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_chgVal_Click(object sender, EventArgs e)
        {
            call = new DelCallback(Change); //实现回调委托
            //启动后台线程改变数据
            Thread th = new Thread(new ThreadStart(Test));

            th.IsBackground = true; //设置为后台线程
            th.Start();             //启动线程

            this.btn_chgVal.Enabled = false;
        }