Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > WPF, UWP, WinRT, XAML
Регистрация

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

Ответ
 
Опции темы
Старый 18.12.2014, 23:45   #1
nwhta
Форумчанин
 
Регистрация: 30.08.2013
Адрес: Израиль
Сообщений: 153
Репутация: 10
По умолчанию метод

всем привет!
написал вот такой метод:
private void numPadClick(object sender, RoutedEventArgs e)
{

try
{
if ((sender as Button).Content.ToString() == "0" || (sender as Keyboard).ToString() == Key.NumPad0.ToString())
{
this.lblBotCalc.Content += "0";
}
if ((sender as Button).Content.ToString() == "1")
{
this.lblBotCalc.Content += "1";
}
if ((sender as Button).Content.ToString() == "2")
{
this.lblBotCalc.Content += "2";
}
if ((sender as Button).Content.ToString() == "3")
{
this.lblBotCalc.Content += "3";
}
if ((sender as Button).Content.ToString() == "4")
{
this.lblBotCalc.Content += "4";
}
if ((sender as Button).Content.ToString() == "5")
{
this.lblBotCalc.Content += "5";
}
if ((sender as Button).Content.ToString() == "6")
{
this.lblBotCalc.Content += "6";
}
if ((sender as Button).Content.ToString() == "7")
{
this.lblBotCalc.Content += "7";
}
if ((sender as Button).Content.ToString() == "8")
{
this.lblBotCalc.Content += "8";
}
if ((sender as Button).Content.ToString() == "9")
{
this.lblBotCalc.Content += "9";
}
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}


}

что не так? на что ругается?
nwhta вне форума   Ответить с цитированием
Старый 18.12.2014, 23:57   #2
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,150
Репутация: 3316

icq: 512-765
skype: alexp.frl
По умолчанию

Откуда кто-то может знать на что там у вас ругается? Вы ж не показали это.

И эту страшную кучу ифов явно можно заменить хотя бы на что-то такое

Код:

string numStr = (sender as Button).Content.ToString();
if (numStr >= "1" && numStr <= "9")
{
    lblBotCalc.Content += numStr;
}

Alex11223 на форуме   Ответить с цитированием
Старый 19.12.2014, 00:30   #3
nwhta
Форумчанин
 
Регистрация: 30.08.2013
Адрес: Израиль
Сообщений: 153
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Откуда кто-то может знать на что там у вас ругается? Вы ж не показали это.

И эту страшную кучу ифов явно можно заменить хотя бы на что-то такое

Код:

string numStr = (sender as Button).Content.ToString();
if (numStr >= "1" && numStr <= "9")
{
    lblBotCalc.Content += numStr;
}

http://savepic.org/6627180.png
да точно.............не подумал а что ей не нравится с keyboard?

Последний раз редактировалось nwhta; 19.12.2014 в 00:49.
nwhta вне форума   Ответить с цитированием
Старый 19.12.2014, 01:00   #4
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,150
Репутация: 3316

icq: 512-765
skype: alexp.frl
По умолчанию

Дык вы определитесь у вас sender Button или Keyboard. Keyboard это что вообще? Явно не кнопка.
Alex11223 на форуме   Ответить с цитированием
Старый 19.12.2014, 01:09   #5
nwhta
Форумчанин
 
Регистрация: 30.08.2013
Адрес: Израиль
Сообщений: 153
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Дык вы определитесь у вас sender Button или Keyboard. Keyboard это что вообще? Явно не кнопка.
просто я пытаюсь сделать и по нажатию на кнопку, и по нажатию на клавиатуру.................
nwhta вне форума   Ответить с цитированием
Старый 19.12.2014, 01:22   #6
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,150
Репутация: 3316

icq: 512-765
skype: alexp.frl
По умолчанию

Код:

string numStr;
if (sender is Button)
    numStr = (sender as Button).Content.ToString();
else if (sender is Keyboard)
    numStr = (sender as Keyboard).ToString();

if (numStr == "0" || numStr == Key.NumPad0.ToString())

Alex11223 на форуме   Ответить с цитированием
Старый 19.12.2014, 16:57   #7
nwhta
Форумчанин
 
Регистрация: 30.08.2013
Адрес: Израиль
Сообщений: 153
Репутация: 10
По умолчанию

Цитата:
Сообщение от nwhta Посмотреть сообщение
http://savepic.org/6627180.png
да точно.............не подумал а что ей не нравится с keyboard?
вот что пишет на это:

Operator '>=' cannot be applied to operands of type 'string' and 'string'
nwhta вне форума   Ответить с цитированием
Старый 19.12.2014, 16:58   #8
nwhta
Форумчанин
 
Регистрация: 30.08.2013
Адрес: Израиль
Сообщений: 153
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Откуда кто-то может знать на что там у вас ругается? Вы ж не показали это.

И эту страшную кучу ифов явно можно заменить хотя бы на что-то такое

Код:

string numStr = (sender as Button).Content.ToString();
if (numStr >= "1" && numStr <= "9")
{
    lblBotCalc.Content += numStr;
}

вот что пишет на это:

Operator '>=' cannot be applied to operands of type 'string' and 'string'
nwhta вне форума   Ответить с цитированием
Старый 19.12.2014, 17:05   #9
nwhta
Форумчанин
 
Регистрация: 30.08.2013
Адрес: Израиль
Сообщений: 153
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Откуда кто-то может знать на что там у вас ругается? Вы ж не показали это.

И эту страшную кучу ифов явно можно заменить хотя бы на что-то такое

Код:

string numStr = (sender as Button).Content.ToString();
if (numStr >= "1" && numStr <= "9")
{
    lblBotCalc.Content += numStr;
}

вот что пишет на это:

Operator '>=' cannot be applied to operands of type 'string' and 'string'
nwhta вне форума   Ответить с цитированием
Старый 19.12.2014, 17:06   #10
nwhta
Форумчанин
 
Регистрация: 30.08.2013
Адрес: Израиль
Сообщений: 153
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Код:

string numStr;
if (sender is Button)
    numStr = (sender as Button).Content.ToString();
else if (sender is Keyboard)
    numStr = (sender as Keyboard).ToString();

if (numStr == "0" || numStr == Key.NumPad0.ToString())

это тоже не работает:

string numStr = Convert.ToString(sender);
if (sender is Button)
numStr = (sender as Button).Content.ToString();
else if (sender is Keyboard)
numStr = (sender as Keyboard).ToString();

if (numStr == "0" || numStr == Key.NumPad0.ToString())
{
this.lblTopCalc.Content += "0";
}
nwhta вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
реализовать метод Эйлера и метод Рунге-Кутте 4-ого порядка на языке С++ Janny2014 Помощь студентам 1 27.11.2013 05:23
Метод перебора, Метод дихотомии, Метод золотого сечения Delphi !!! OneBri Помощь студентам 0 03.10.2012 08:42
исследовать метод квадратных корней и метод Холецкого для решения СЛАУ Vит@x@ Помощь студентам 0 22.11.2011 10:47
Задача Коммивояжера. Метод Монте-Карло и метод приращений. [Паскаль] U9110 Помощь студентам 4 06.04.2011 09:48
Turbo Pascal[програмыки : текстовая\метод симпсона\метод половинного деления qsccsq Помощь студентам 7 24.12.2010 06:23


21:10.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru