已有56人关注
C#开发委托
发表在C#图书答疑 2010-12-14
是否精华
版块置顶:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace 委托列表
{
    public partial class Form1 : Form
    {
       public  delegate void MyDelegate(string text);
       MyDelegate mainDelegate;
        private void method1(string text)
        {
            textBox1.AppendText("方法一被调用(" + text + ")\r\n");
        }
        private void method2(string text)
        {
            textBox1.AppendText("方法二被调用(" + text + ")\r\n");
        }
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            if (mainDelegate == null)
            {
                mainDelegate = this.method1;
            }
            else
            {
                   mainDelegate = mainDelegate + new MyDelegate(method1);
            }
        }
        private void button2_Click(object sender, EventArgs e)
        {
            if (mainDelegate == null)
            {
                mainDelegate = this.method2;
            }
            else
            {
                mainDelegate+=method2;
            }
        }
        private void button3_Click(object sender, EventArgs e)
        {
            if (mainDelegate == null)
                return;
            mainDelegate -= method1;
        }
你好,这事委托中的一个程序,我有个问题我不明白:就是当我运行这个程序的时候,如果委托列表中有两个方法(就是把这个方法从委托列表中删除掉),我点击删除的话就不会报错,但是如果委托列表中只有一个方法的时候,我点击删除(就是把这个方法从委托列表中删除掉),程序就会报错,具体错误为:未将对象引用设置到对象的实例。请问这是什么问题呢?


静候回答,不胜感激!明日科技的粉丝。
分享到:
精彩评论 1
小科_mrkj
学分:43 LV2
2010-12-15
沙发
读者朋友:
    您好,你说的是点button3的时候出错吧?应该是由于你的委托中并没有method1这个方法引起的,你在这个按钮下插入断点,然后通过调试查看一下此处的值。
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照