Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 22

Как сделать событие в событии?

24.03.2014, 01:21. Показов 1436. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как сделать событие в событии? нужно соединить 2 события
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
          private void textBox1_TextChanged(object sender, EventArgs e);{}
        }
 
        
    }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.03.2014, 01:21
Ответы с готовыми решениями:

Eсть событие в WindowsForms button1_click и есть класс. Как вызвать метод класса в событии?
необходимо в самом событии баттон клик вызвать то что содержится в отдельном классе

Событие в событии
Можно ли объявить событие в событии? Мне нужно сделать так, чтобы один раз объявить функцию, а затем в других событиях просто к неё...

Событие в событии возможно?
Не знаю, возможно раздел не тот. например Сабытие_1, в нем нужно, чтобы сработало Событие_2. Или нужно Событие_2 превращать в метод?

11
1617 / 1182 / 553
Регистрация: 08.01.2012
Сообщений: 4,561
24.03.2014, 01:27
C#
1
2
3
4
5
6
private void textBox1_TextChanged(object sender, EventArgs e){}
 
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    textBox1_TextChanged(textBox1, new EventArgs());
}
1
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 22
24.03.2014, 01:53  [ТС]
нужно создать событие потом его вызвать с другими параметрами внутри?

Добавлено через 15 минут
Не получается возможно я не правильно выразился.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    private void Form1_Load(object sender, EventArgs e)
        {
 
        }
 
        private void textBox2_TextChanged(object sender, EventArgs e)
        {
 
        }
 
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            { MessageBox.Show("quad"); }
        }
 
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBox1.SelectedIndex == 0)
            {
                textBox1_TextChanged(textBox1, new EventArgs());
                
            }
        }
    }
}
мне нужно чтобы работало так : Изменяю комбобокс на 1 итем, далее если изменяю текст бокс то он выдает сообщение quad. Где я ошибся?
0
 Аватар для golandy
73 / 73 / 20
Регистрация: 11.01.2014
Сообщений: 252
Записей в блоге: 2
24.03.2014, 02:41
а при изменении textbox1 не должно изменяться? у вас же написано

Цитата Сообщение от Garbid Посмотреть сообщение
C#
1
2
3
4
private void textBox1_TextChanged(object sender, EventArgs e)
{
{ MessageBox.Show("quad"); }
}
0
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 22
24.03.2014, 02:50  [ТС]
при изменении textbox1 должно меняться, дело в том что у меня почему то сообщение выскакивает когда я выбираю комбобокс на 1 итем, а мне это не нужно и я не понимаю как это убрать.(моя изначальная задача построить 4 точки для 1 итема и 4 для 2-го итема) я просто учусь и вот не пойму как событие в событии описать.
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
24.03.2014, 02:52
Цитата Сообщение от MansMI Посмотреть сообщение
C#
1
new EventArgs()
C#
1
EventArgs.Empty
0
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 22
24.03.2014, 02:56  [ТС]
тоже самое что и было при изменении итема срабатывает
0
 Аватар для golandy
73 / 73 / 20
Регистрация: 11.01.2014
Сообщений: 252
Записей в блоге: 2
24.03.2014, 03:13
Цитата Сообщение от Garbid Посмотреть сообщение
а мне это не нужно и я не понимаю как это убрать.
Закоментите если не нужно.

Цитата Сообщение от Garbid Посмотреть сообщение
C#
1
if (comboBox1.SelectedIndex == 0) { textBox1_TextChanged(textBox1, new EventArgs()); }
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
24.03.2014, 03:35
Чуть грамотнее будет создать методы нужные для какой-то работы, и уже эти методы вызывать внутри обработчиков. А так делать как сейчас (имхо) - полный бред. Какие-то аргументы передавать просто так...

Добавлено через 1 минуту
Цитата Сообщение от Garbid Посмотреть сообщение
Как сделать событие в событии? нужно соединить 2 события
Ты делаешь не событие в событии, а вызываешь метод-обработчик события в методе-обработчике события. Или просто метод в методе вызываешь, что тоже верно звучит.

Добавлено через 5 минут
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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 WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void TextBox_TextChanged(object sender, EventArgs e)
        {
            if (comboBox1.SelectedIndex == 0)
                SomeMethod();
        }
 
        private void SomeMethod()
        {
            MessageBox.Show("Quad");
        }
    }
}
C#
1
2
3
4
5
        private void TextBox_TextChanged(object sender, EventArgs e)
        {
            if ((string)comboBox1.SelectedItem == "Item 1")
                SomeMethod();
        }
Добавлено через 1 минуту
Если вариант с индексами и их много, можно сделать switch, вместо if. Можно так же конвертировать индексы в enum какой-то и внутри switch уже использовать значения этого enum для читабельности кода. Да много как можно сделать.

Добавлено через 1 минуту
Чтобы не было путаницы с индексами, заполнять ComboBox нужно каким-то одним методом, а не отовсюду по разному.

Добавлено через 1 минуту
И почитай за Code Style в .NET, раз учишься, учись сразу писать нормальный, читабельный код.

Добавлено через 1 минуту
Вот тебе примерно и кратко:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    #region Порядок следования членов класса (желательно его придерживаться всегда и везде) и прочее
 
    // 1) Поля класса
    // 2) Конструкторы
    // 3) События
    // 4) Свойства
    // 5) Методы (желательно сначала private, потом public)
 
    // Поля класса начинаются с _ ( Person _person )
 
    // Все переменные локальные для методов, параметры конструкторов, методов 
    // начинаются с маленькой буквы в стиле pascalCase.
 
    // Все названия классов, делегатов, методов, событий, свойств, public констант
    // начинаются с большой буквы в стиле CamelCase.
 
    #endregion
Добавлено через 4 минуты
апдейт
1
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 22
24.03.2014, 04:02  [ТС]
Большое спасибо , наконец то я сделал что хотел, правда коряво очень пока что .Подскажите пожалуйста какой командой можно считать из текстбокса значение и какой командой нарисовать точку из 2 координат(не пиксель). И можно ли координатную ось добавить или ее нужно программировать ?
C#
1
2
int a
a = Convert.ToInt32(textBox1.Text);
является приемлемым если целые числа меня устраивают?

Добавлено через 16 минут
C#
1
2
3
4
5
6
7
8
9
private void textBox2_TextChanged(object sender, EventArgs e)
{
           
            if (comboBox1.SelectedIndex == 1)
            {
               int a = Convert.ToInt32(textBox2.Text);
               MessageBox.Show(a.ToString);
             }
 }
как значение из текстбокса записать в переменную ,а потом вывести ее в MessageBox?
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
24.03.2014, 04:37
Цитата Сообщение от Garbid Посмотреть сообщение
как значение из текстбокса записать в переменную ,а потом вывести ее в MessageBox?
В чём смысл вопроса, если ты и так сделал что хотел? И, вообще, зачем какая-то переменная, если сразу можно вывести:
C#
1
MessageBox.Show(textBox2.Text);
0
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 22
24.03.2014, 05:27  [ТС]
там не получалось по началу. Теперь не могу найти ошибку почему график не обновляется,возможно я прочитал и не правильно что то понял.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
namespace WindowsFormsApplication8
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        
        }
        int a;
        int b;
          private void Form1_Load(object sender, EventArgs e)
        {
 
        }
 
        private void textBox2_TextChanged(object sender, EventArgs e)
        {
           
            if (comboBox1.SelectedIndex == 1)
            {
               int a = Convert.ToInt32(textBox2.Text);
               MessageBox.Show((a).ToString());
               MessageBox.Show("drift y");
               pictureBox1.Refresh();
            }
            if (comboBox1.SelectedIndex == 0)
            {   int a = Convert.ToInt32(textBox2.Text);
                MessageBox.Show((a).ToString());
                MessageBox.Show("quad y");
                pictureBox1.Refresh();
            }            
        }
 
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            if (comboBox1.SelectedIndex == 0)
            {
                int b = Convert.ToInt32(textBox2.Text);
                MessageBox.Show((b).ToString()); 
                MessageBox.Show("quad x");
                pictureBox1.Refresh();
            }
            if (comboBox1.SelectedIndex == 1)
              {   int b = Convert.ToInt32(textBox2.Text);
                  MessageBox.Show((b).ToString()); 
                  MessageBox.Show("drift x");
                  pictureBox1.Refresh();
              }
            
        }
 
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
           
        }
 
        private void pictureBox1_Click(object sender, EventArgs e)
        {
 
        }
 
        private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            e.Graphics.FillRectangle(Brushes.Black, b, a, 10, 10);
        }
 
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.03.2014, 05:27
Помогаю со студенческими работами здесь

Получение объекта вызвавшего событие в самом событии
Здравствуйте, уважаемые форумчане. Не знаю насколько точно я описал происходящее в названии темы, но по-другому не получилось. Карочи....

Иногда(!) не срабатывает часть кода в событии или событие
Добрый день ! сделан проект на C# скомпилирован в sharpdevelop, FW 4.0 , winforms запускаю на windows 10. есть плавающая...

Как сделать, чтобы приведенный код выполнялся в событии кнопки
Помогите перевести в андроид следующий код: public class Game extends Activity { public static void main(String args) throws...

Как сделать при событии один пункт активным, а все остальные неактивны при условии что это общая функция
Вот к примеру: http://jsbin.com/uhiqap/1/edit на галерею когда клацаешь - чтоб была одна фотка большая, только активная при...

Сделать обводку при событии
Здравствуйте! C Jquery я вообще не силен. Есть код: $("input").keypress(function(e) { var verified =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru