Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2010, 21:35   #1
CaypoH
 
Регистрация: 09.12.2010
Сообщений: 5
По умолчанию Делегаты

Код:
delegate void MyDelegate(string a);
 
class DelegateExample
{
    static void Func(string param)
    {
        System.Console.WriteLine("Вызвана функция с параметром {0}.", param);
    }
 
    public static void Main()
    {
        // Создание экземпляра делегата
        MyDelegate f = new MyDelegate(Func);
        // Вызов функции
        f("hello");
    }
}
вот обычная прога с делегатами
\допустим только что есть 2 функции,1 по нажатию кнопки,2ая по нажатию на форме

мне нужно объявить MyDelegate f в функции по нажатию на кнопке как то таким образом чтобы я его потом мог юзать по нажатию на форме,а выолнялась та функция которую я ему передал в перывй раз...

Последний раз редактировалось ACE Valery; 03.01.2011 в 23:31.
CaypoH вне форума Ответить с цитированием
Старый 02.01.2011, 09:59   #2
Никки
Форумчанин Подтвердите свой е-майл
 
Аватар для Никки
 
Регистрация: 20.11.2007
Сообщений: 500
По умолчанию

Непонятен вопрос. Сформулируйте всё грамотно и Вам помогут.
Никки вне форума Ответить с цитированием
Старый 03.01.2011, 22:32   #3
xil
Пользователь
 
Регистрация: 30.06.2009
Сообщений: 98
По умолчанию

попробуй перенести MyDelegate f = new MyDelegate(Func); из main и поставить эту строку сразу после объявления делегата
___________________
насколько я тебя понял =)
Как вы сформулируете вопрос так вам и ответят
xil вне форума Ответить с цитированием
Старый 04.01.2011, 05:43   #4
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
По умолчанию

Сколько не перечитывал вопрос, всё равно толком не понял, что конкретно надо. Может это:
Код:
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 WinForms
{
    public partial class Form2 : Form
    {
        delegate void MyDelegate(string a);
        MyDelegate f;

        public Form2()
        {
            InitializeComponent();
        }

        private void btnSetDelegate_Click(object sender, EventArgs e)
        {
            if (f == null)
                f = new MyDelegate(Func);
            else
                f("Нажали на кнопке");

        }

        private void Form2_Click(object sender, EventArgs e)
        {
            if (f != null)
                f("Нажали на форме");
        }

        public void Func(String param)
        {
            MessageBox.Show(String.Format("Вызвана функция с параметром \"{0}\".", param));
        }
    }
}
Или это:
Код:
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 WinForms
{
    public partial class Form2 : Form
    {
        delegate void MyDelegate(string a);
        MyDelegate f;
        String par;

        public Form2()
        {
            InitializeComponent();
            f = new MyDelegate(Func);
        }

        private void btnSetDelegate_Click(object sender, EventArgs e)
        {
            if (par == null)
                par = "Общий параметр";
            else
                f(par);
        }

        private void Form2_Click(object sender, EventArgs e)
        {
            if (par != null)
                f(par);
        }

        public void Func(String param)
        {
            MessageBox.Show(String.Format("Вызвана функция с параметром \"{0}\".", param));
        }
    }
}
Casper-SC вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
События и делегаты в C# как они работают _PROGRAMM_ Общие вопросы .NET 11 04.02.2010 06:44
Делегаты в MSIL Андрей Стрелков Общие вопросы .NET 6 20.02.2009 19:17