Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как передать параметр при нажатии на кнопку 
V
    Опции темы
slutsker
Дата 19.8.2008, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 24.5.2007

Репутация: нет
Всего: нет



хочу при нажатии кнопки передать параметр
 
Код

<button click="button_click">


Код

private void button_Click(object sender, RoutedEventArgs e)
        { 

           /*вот тут я хочу использовать параметр который передам от кнопки*/

        }



просто кнопок будет много и отличаться их обработчики будут лишь их параметрами поэтому я и хочу передать что-то вместе с нажатием

--------------------
Compiling...project.cppLinking...Embedding manifest...========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
PM MAIL   Вверх
Idsa
Дата 21.8.2008, 05:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 2
Всего: 62



slutsker, заносите этот параметр в свойство Tag кнопки, а затем:
Код

private void button_Click(object sender, RoutedEventArgs e)
        { 
          Button button = (Button)sender;
          MyType myType = (MyType)button.Tag;
          ...
        }



--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
slutsker
Дата 21.8.2008, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 24.5.2007

Репутация: нет
Всего: нет



Idsa, большое спасибо, 
только из-за полного незнания C# у меня пофвился второй вопрос:
в качестве параметра я бы хотел чтобы выступал объект, то есть ф-ия к тому объекту который был в параметре применяет некоторые св-ва.
как это лучше сделать?

мне в голову пришло лишь:
Код



       private void button_Click(object sender, RoutedEventArgs e)
        {
            Button button = (Button)sender;
            String i = (String)button.Tag;
         
          

            switch (i)
            {
                case "1": object_1.Text =.........; break;
                case "2": object_2.Text =.........; break;
                case "3": object_3.Text =.........; break;
            }
            
        }





Это сообщение отредактировал(а) slutsker - 21.8.2008, 12:42
--------------------
Compiling...project.cppLinking...Embedding manifest...========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
PM MAIL   Вверх
Partizan
Дата 21.8.2008, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 67



slutsker, пихай в Tag object и приводи его к нужному типу


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Kefir
Дата 21.8.2008, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 22
Всего: 87



slutsker, слушай Partizan. Поле Tag специально имеет тип object для того, чтобы не ограничивать пользователя (то биш тебя) каким-то конкретным типом.
PM MAIL WWW Skype   Вверх
slutsker
Дата 22.8.2008, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 24.5.2007

Репутация: нет
Всего: нет



Kefir,  так как ты предлогаешь объект? в частности Grid name= "layer_!"  smile 
--------------------
Compiling...project.cppLinking...Embedding manifest...========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
PM MAIL   Вверх
Kefir
Дата 22.8.2008, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 22
Всего: 87



slutsker, прошу прощения, не мог бы ты более развёрнуто? а то я вопроса не понял.....
PM MAIL WWW Skype   Вверх
slutsker
Дата 23.8.2008, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 24.5.2007

Репутация: нет
Всего: нет



Kefir, это нормально, что вопроса не понял, но совет дал!

итак вот суть - есть две кнопки и 
 <Grid x:Name="layer_1" ......>
<Grid x:Name="layer_2" ......>

что передать в Tagи этих кнопок, чтобы в обрабочтичике получить доступ одному из объектов smile 
--------------------
Compiling...project.cppLinking...Embedding manifest...========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
PM MAIL   Вверх
Partizan
Дата 24.8.2008, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 67



slutsker, передать layer1 или layer_2 в Tag, а при извлечении проверить на is Grid и если да,то привести его к Grid


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Kefir
Дата 24.8.2008, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 22
Всего: 87



slutsker, если вопрос заключается в том как запихать это прямо в XAML, то тебе поможет {DynamicResource ...}. Если нет, то просто myButton.Tag = myGrid;
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0508 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.