Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > 6 кнопок


Автор: aksei 30.1.2011, 19:36
Имеется 6 кнопок. Задача такая, Например, если нажимаю первую и 4 кнопку то должен произойти одна события, если пятую и вторую то другая и т.д. Этого как можно реализовать?? Помогите.

Автор: Экскалупатор 30.1.2011, 20:19
aksei, обрабатывай событие click у кнопок.

Автор: A5uKa 1.2.2011, 13:04
Ну вот так назначаем событии кнопкам

Код

Кнопка.Click += new RoutedEventHandler(События_Кнопки1);


Вот так пишет саму событию

Код

private void События_Кнопки1(object sender, RoutedEventArgs e)
{
  Тут код событии
}


Конкретизируйте вопрос.

Цитата

должен произойти одна события

Стой... Так он женщина или мужчина ?

Автор: Экскалупатор 1.2.2011, 15:31
Цитата(A5uKa @  1.2.2011,  12:04 Найти цитируемый пост)
Стой... Так он женщина или мужчина ?

оно еще не определилось, а по сему просто событие.

Автор: Fortnox 1.2.2011, 23:42
Назначьте одни и те же события для нужных кнопок, например:
Код

public void ClickOne(object sender, EventArgs e)
{
  // code
}

public void ClickTwo(object sender, EventArgs e)
{
  // code
}

// и назначаем события в коде где-нибудь или через панель свойств
button1.Click += ClickOne;
button4.Click += ClickOne;

button2.Click += ClickTwo;
button5.Click += ClickTwo;

Автор: wester 2.2.2011, 01:41
A5uKa, 
cовсем можно запутать человека. маршрутизируемые событие поддерживается только в WPF, 

на мой взгляд создавать шесть событий не есть хорошо, так как придется очень сильно подумать над взаимодействием между собой

я бы подписал все шесть кнопок на одно событие, а в событии проверял бы условия

хотя с самой программой что не то, зачем нужно столько состояний непонятно, лучше разделить большое условие не несколько условий.


вникся в вопрос.
ужас  smile 

Автор: Экскалупатор 2.2.2011, 08:36
wester, одно событие на все кнопки далеко не фонтан. придется устраивать хороводы проверок и прочее(с таким же успехом почему бы все кнопки на форме не завязывать на одно событие???). предложенный Fortnox вариант самый кошерный. событий немного(ведь не на каждую кнопку нужно отдельное событие) и проверок не нужно совсем.

Автор: cream 2.2.2011, 15:36
Люди, тут кто-нибудь обратил внимание на логическое "И" в вопросе?
Цитата
Например, если нажимаю первую И 4 кнопку то должен произойти одна события, если пятую и вторую то другая и т.д.

Автору нужно чтобы обрабатывалось 2 действия, а не 1. Поэтому лучше просто завести список состояний кнопок, и при нажатии
изменять и проверять его(ну и очищать конечно). И я согласен с wester, достаточно 1 обработчика событий на все кнопки.

Можно еще флаги заюзать вообще норм будет.

Автор: Экскалупатор 2.2.2011, 16:40
cream, учитывая косноязычность автора думаю, что логическим И можно пренебречь...


да и к тому же самому автору видно уже не интересно знать как и что делать.


вот объясни почему если предполагается два-три разных функционала (разные кнопки разные события) то удобно все это запихнуть в одно событие? вот я что то совсем не могу понять крутость такого решения.

Автор: cream 2.2.2011, 17:51
Цитата(Экскалупатор @  2.2.2011,  16:40 Найти цитируемый пост)
вот объясни почему если предполагается два-три разных функционала (разные кнопки разные события) то удобно все это запихнуть в одно событие? вот я что то совсем не могу понять крутость такого решения.

Кнопки разные, а событие одно - Click. Если им задается обработка как в вопросе автора(я не думаю что это опечатка smile ), 
то совсем не грех уменьшить количество лишнего(повторяющегося) кода. 
Я ж не говорю, что надо всегда это делать, просто тут можно.

А насчет разного функционала, я телепатией еще не владею, чтоб знать что там автор хотел.

Автор: Экскалупатор 2.2.2011, 18:33
ну автор описал как минимум два варианта реагирования на кнопки. почему их нужно обрабатывать по одному обработчику события? я думаю что логично было бы делать два.

Автор: cream 2.2.2011, 19:00
Напишу как я вижу эту задачу:
Всего 6 кнопок; нажимаются пары кнопок (1-2, 1-3, 1-4,...,5-6), всего около... э 15 вариантов разных событий.
Теперь вопрос как это реализовать не повторяя кода, каждым обработчиком кнопки?
Можно конечно в каждом проверять чего там нажато, но смысл?

Автор: Экскалупатор 2.2.2011, 20:16
))) я понял что ты имел ввиду. но автор темы не писал что ему нужны 1 и 2, 1 и 3, и пр. он писал 1 и 4, 2 и 5, и очевидно 3 и 6. т.е. постоянно разные комбинации кнопок и при этом вполне однозначные, а не разные. а тут вполне адекватное и небольшое количество обработчиков событий, (т.е. на 6 кнопок, исходя из слов автора, нужно 3 события).

Автор: cream 2.2.2011, 20:37
Экскалупатор, окей убедил smile 

Автор: aksei 4.2.2011, 06:31
Я мужчина. Извините я был в больнице. Это типа как маршрут на карте? Указываешь одну точку, то ничего не происходит, указываешь вторую, то строит маршрут и считает дистанцию.

Автор: cream 4.2.2011, 17:41
aksei, они писали не про вас, а про событие.
Хотелось бы уточнить: 
-вам важна последовательность нажатия кнопок (1-2, 2-1) или без разницы?
-какая связь между кнопками и методом построения маршрута. Например, каждая кнопка может представлять
координаты, кот. потом нужно передать в тотже метод, либо что-то другое?

Автор: Экскалупатор 4.2.2011, 17:49
еще неплохо было бы уточнить маршрут только двумя кнопками определяется или больше?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)