Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.75
ninja2
969 / 188 / 32
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
#1

Wpf создание первого приложения - C# WPF

29.09.2015, 06:34. Просмотров 2536. Ответов 74
Метки нет (Все метки)

Здорова! Создал первое приложение wpf, а как добавить кнопку и к нему обрабочкик по которому бы выводилось "hellow world!" например???

Добавил кнопку, как теперь к этой кнопке добавить обработчик?

Добавлено через 12 минут
Создал обработчик кнопки и при компиляции пишет ошибку, вот код, что не так?
C#
1
2
3
4
private void button_Click(object sender, RoutedEventArgs e)
        {
            MsgBox("Event handler was created by double-clicking the button.");
        }
Добавлено через 7 минут
Разобрался нужно эту функцию использовать
C#
1
MessageBox.Show("hellow worl!");
А почему функция MsgBox() не работает? На мсдн пишут что она должна работать.

А как добавить поле редактирование, что небудь в него ввеси и вывести в MessageBox????

Добавлено через 7 минут
Добавил TextBox, как получить из TextBox данные и вывести в Message.Show???

Добавлено через 6 часов 56 минут
Так что как получить данные из TextBox????
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.09.2015, 06:34
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Wpf создание первого приложения (C# WPF):

Создание приложения на WPF по приложенному образцу
Есть такое задание, сделать программу на WPF, таким образом чтобы слева было...

Создание нескольких окон при старте приложения в WPF
Эксперты, взгляните на код и оцените правильность. Есть ли здесь какие-то...

Откладка WPF приложения
Здравствуйте, уважаемые знатоки. Написал своё первое, простейшее WPF...

[WPF] Ресурсы приложения
Всем добрый вечер. Интересует следующий вопрос, допустим в приложении я...

Приложения обозревателя WPF
Добрый день. Помогите советом. Решил попытаться сделать приложение для...

Компиляция WPF приложения
Доброго времени суток уважаемые знатоки! У меня к вам вопрос, создал проект для...

74
Sn1p3rOk
281 / 168 / 85
Регистрация: 19.04.2014
Сообщений: 1,098
Завершенные тесты: 2
29.09.2015, 07:30 #2
Цитата Сообщение от ninja2 Посмотреть сообщение
А почему функция MsgBox() не работает? На мсдн пишут что она должна работать.
Где это такое написано? Можно ссылку увидеть?
Цитата Сообщение от ninja2 Посмотреть сообщение
Так что как получить данные из TextBox????
Вы документацию вообще не читаете? Или не умеете пользоваться поисковиком?
На том же MSDN https://msdn.microsoft.com/ru-ru/lib...v=vs.110).aspx
1
ninja2
969 / 188 / 32
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
29.09.2015, 07:44  [ТС] #3
Цитата Сообщение от Sn1p3rOk Посмотреть сообщение
Вы документацию вообще не читаете? Или не умеете пользоваться поисковиком?
На том же MSDN https://msdn.microsoft.com/ru-ru/lib...v=vs.110).aspx
Ага ясно, это по net фреймворк смотреть я думал по WPF. А в WPF где основной код программы находится, что то я никак не пойму. Там есть типо диалоги это page страницы, а куда записывать основной код. Походу основной код находится в самом первом XAML файле. Читал статью на MSDN там пример на WPF там тупо саму разметку XAML разбирали в примере, я так смутно понял.

А Windows Form он уже устарел да, лучше сразу WPF учить? Чуть чуть windows form (на CLI пример делал), там один класс form и внего все функции добавляешь, а в WPN что то не сильно ясная структура.

А SilwerLite это для WEB это тоже что и WPF??? Что под Cшарп лучше учить, нужно быстро научиться гуи создавать, там диалоги, меню, панели элементов, кнопки, диалоговые приложения, простейшие без наворотов, без всяких там SDI и MDI приложений, обычные диалоги.

Интересно в WPF есть цикл обработки сообщений GetMessageMap????

Sn1p3rOk, посоветуй примеры кода какие посмотреть поразбирать для getting starta ???
0
Ev_Hyper
Заблокирован
29.09.2015, 12:42 #4
ninja2, почитайте книги...
http://www.cyberforum.ru/wpf-silverlight/thread1132279.html
1
ninja2
969 / 188 / 32
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
29.09.2015, 13:43  [ТС] #5
Sn1p3rOk, ок щас попробую получить из TextBox данные и вывести, получится или нет.

Добавлено через 56 секунд
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
почитайте книги...
Не книги это много времени нада, лучше примеры кода смотреть и разбирать. Мне обычные диалоговые приложения создавать без наваротов. Диалог с элементами управления и все. Кнопку нажимаем сработал обработчик, что то сделали все.

Добавлено через 52 минуты
Получить данные из текстового поля просто в обработчике добавляем
C#
1
2
3
4
5
private void button_Click(object sender, RoutedEventArgs e)
        {
            string s = textBox.Text;
            MessageBox.Show(s);
        }

Как добавить обработку сообщений GetMessage() в цикл чтобы не зависала программа? Вот код прогаммы которая зависает, там выводятся в TexBox переменная i. ???
C#
1
2
3
4
5
6
7
8
9
private void button_Click(object sender, RoutedEventArgs e)
        {
            MessageBox.Show("start");
            for(int i=0;i<10000;i++)
            {
                textBox.Text = Convert.ToString(i, 10);
            }
            MessageBox.Show("end");
        }
Какая функция в C# эквивалентна функциям GetMessage/PeekMessage, чтобы обработать сообщения виндов????
0
Sn1p3rOk
281 / 168 / 85
Регистрация: 19.04.2014
Сообщений: 1,098
Завершенные тесты: 2
29.09.2015, 16:13 #6
Цитата Сообщение от ninja2 Посмотреть сообщение
Мне обычные диалоговые приложения создавать без наваротов
Тогда зачем вам WPF ? Можно формами обойтись.
Цитата Сообщение от ninja2 Посмотреть сообщение
Вот код прогаммы которая зависает
Она не зависает, она работает.
Цитата Сообщение от ninja2 Посмотреть сообщение
Какая функция в C# эквивалентна функциям GetMessage/PeekMessage, чтобы обработать сообщения виндов????
Что вы хотите сделать?
0
ninja2
969 / 188 / 32
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
29.09.2015, 18:04  [ТС] #7
Цитата Сообщение от Sn1p3rOk Посмотреть сообщение
Она не зависает, она работает.
Приложение не обрабатывает виндовс сообщения. Мне уже подсказали нужно поток создать и в нем цикл запускать.
Цитата Сообщение от Sn1p3rOk Посмотреть сообщение
Что вы хотите сделать?
вызвать функцию эквивалент в windowsform Application.DoEvents. в WPF такой нету.
Цитата Сообщение от Sn1p3rOk Посмотреть сообщение
Тогда зачем вам WPF ? Можно формами обойтись.
виндовс форм уже устарели и в WPF проще формы делать.

Добавлено через 1 минуту
Sn1p3rOk, А что скажешь за видео уроки? На ютубе смотрел там полно уроков .
0
Sn1p3rOk
281 / 168 / 85
Регистрация: 19.04.2014
Сообщений: 1,098
Завершенные тесты: 2
29.09.2015, 18:54 #8
Цитата Сообщение от ninja2 Посмотреть сообщение
виндовс форм уже устарели и в WPF проще формы делать.
Обоснуйте.

Добавлено через 1 минуту
ninja2, именно по поводу "проще формы делать", что вы под этим подразумеваете?

Добавлено через 3 минуты
Цитата Сообщение от ninja2 Посмотреть сообщение
А что скажешь за видео уроки? На ютубе смотрел там полно уроков
Я фигней не занимаюсь если мне нужна какая-то информация, то обращаюсь к официальной документации. Уроков может и полно, но вряд ли там в удовлетворяющем объеме изложена вся информация о WPF.

Добавлено через 2 минуты
http://www.java2s.com/Tutorial/CShar...ventsinWPF.htm
1
ninja2
969 / 188 / 32
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
29.09.2015, 21:47  [ТС] #9
Цитата Сообщение от Sn1p3rOk Посмотреть сообщение
Обоснуйте.
как html файл с тегами редактируешь, в windfrom такого нету.

Добавлено через 1 минуту
Тут еще неясно как сделать чтобы когда я крестик нажимаю у меня вызвалась моя функция обработчик. Нужно какую то функцию перегрузить? Пробовал так сделать ниче не вызываются
C#
1
2
3
4
5
6
7
8
9
 void MainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            MessageBox.Show("Closing called");
        }
 
        new public void OnClosing(System.ComponentModel.CancelEventArgs e)
        {
            MessageBox.Show("close");
        }
0
Sn1p3rOk
281 / 168 / 85
Регистрация: 19.04.2014
Сообщений: 1,098
Завершенные тесты: 2
29.09.2015, 21:50 #10
Цитата Сообщение от ninja2 Посмотреть сообщение
как html файл с тегами редактируешь, в windfrom такого нету.
где вы там редактируете html-файл ??

Добавлено через 1 минуту
Цитата Сообщение от ninja2 Посмотреть сообщение
чтобы когда я крестик нажимаю у меня вызвалась моя функция обработчик
ну так засуньте внутрь Closing вашу функцию обработки
0
ninja2
969 / 188 / 32
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
29.09.2015, 21:53  [ТС] #11
Цитата Сообщение от Sn1p3rOk Посмотреть сообщение
ну так засуньте внутрь Closing вашу функцию обработки
А как? Добавил туда MessageBox.show, она не вызывается.
0
Sn1p3rOk
281 / 168 / 85
Регистрация: 19.04.2014
Сообщений: 1,098
Завершенные тесты: 2
29.09.2015, 21:55 #12
Может вам все таки стоит почитать книги по WPF ? Точнее я более чем уверен, что это необходимо.

Добавлено через 1 минуту
Цитата Сообщение от ninja2 Посмотреть сообщение
А как? Добавил туда MessageBox.show, она не вызывается.
Как это не вызывается ? Приходит событие закрытия окна, заходит в обработчик Closing срабатывает то, что в этом обработчике и закрывается окно.
0
ninja2
969 / 188 / 32
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
29.09.2015, 21:56  [ТС] #13
И так не вызывается
C++
1
2
3
4
new public void Closing()
        {
            MessageBox.Show("kkkkk");
        }
А new это типо мы метод перегрузили )))

Добавлено через 43 секунды
Цитата Сообщение от Sn1p3rOk Посмотреть сообщение
Как это не вызывается ? Приходит событие закрытия окна, заходит в обработчик Closing срабатывает то, что в этом обработчике и закрывается окно.
Ниче не срабатывает, просто окно закрылось без вызова MessageBox.Show('dddd');
0
Sn1p3rOk
281 / 168 / 85
Регистрация: 19.04.2014
Сообщений: 1,098
Завершенные тесты: 2
29.09.2015, 22:00 #14
Цитата Сообщение от ninja2 Посмотреть сообщение
new public void Closing()
во-первых правильно public new void Closing()
во-вторых не понятно чего вы этой записью пытаетесь добиться ?

Добавлено через 1 минуту
Цитата Сообщение от ninja2 Посмотреть сообщение
Ниче не срабатывает, просто окно закрылось без вызова MessageBox.Show('dddd');
А вы подписались на событие ?
0
ninja2
969 / 188 / 32
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
29.09.2015, 22:02  [ТС] #15
Цитата Сообщение от Sn1p3rOk Посмотреть сообщение
во-вторых не понятно чего вы этой записью пытаетесь добиться ?
Крестик нажимаю и должна функция вызваться и что то в ней сделать например поток закрыть или еще что то, а она не вызывается. Мб. другая должна вызываться?
0
Sn1p3rOk
281 / 168 / 85
Регистрация: 19.04.2014
Сообщений: 1,098
Завершенные тесты: 2
29.09.2015, 22:04 #16
Цитата Сообщение от ninja2 Посмотреть сообщение
Крестик нажимаю и должна функция вызваться и что то в ней сделать например поток закрыть или еще что то, а она не вызывается. Мб. другая должна вызываться?
Цирк "Шапито"...
Чтобы обработать событие Closing нужно подписаться на него...
0
ninja2
969 / 188 / 32
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
29.09.2015, 22:04  [ТС] #17
Цитата Сообщение от Sn1p3rOk Посмотреть сообщение
А вы подписались на событие ?
Нет, а что это означает?

Для таймера от так подписываться нада
C#
1
m_timer.Tick += new EventHandler(f_timer);

А что еще на события нужно подписываться?
0
Sn1p3rOk
281 / 168 / 85
Регистрация: 19.04.2014
Сообщений: 1,098
Завершенные тесты: 2
29.09.2015, 22:04 #18
ninja2, и что там по поводу html я так и не понял, поясните пожалуйста...
0
ninja2
969 / 188 / 32
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
29.09.2015, 22:06  [ТС] #19
Цитата Сообщение от Sn1p3rOk Посмотреть сообщение
Чтобы обработать событие Closing нужно подписаться на него...
А как на него подписаться?

Добавлено через 1 минуту
Цитата Сообщение от Sn1p3rOk Посмотреть сообщение
ninja2, и что там по поводу html я так и не понял, поясните пожалуйста...
Ну типо как html, теги редактируешь и вид меняется. Так удобней чем в форме перемещать, та и технология типо новая.
Можна и на ты братишь! .
0
Sn1p3rOk
281 / 168 / 85
Регистрация: 19.04.2014
Сообщений: 1,098
Завершенные тесты: 2
29.09.2015, 22:12 #20
Цитата Сообщение от ninja2 Посмотреть сообщение
Нет, а что это означает?
А по и значит, "Подписаться на событие"
если через XAML, то Closing="MainWindow_Closing"
если через "код" то в конструкторе Closing += MainWindow_Closing;

Добавлено через 1 минуту
Цитата Сообщение от ninja2 Посмотреть сообщение
Так удобней чем в форме перемещать, та и технология типо новая.
Да не совсем она и новая уже... Скорее уже старенькая. И это не HTML, это называется XAML

Добавлено через 1 минуту
Создал проект, 3 секунды написания и все работает корректно, не пойму, что у тебя за приколы происходят.
1
29.09.2015, 22:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.09.2015, 22:12
Привет! Вот еще темы с решениями:

Локализация WPF приложения.
Народ, подскажите, как можно сделать поддержку локализации в WPF приложении....

Компиляция Wpf приложения
Расскажите пожалуйста как из своего приложения скомпилировать Wpf приложение и...

Защита WPF приложения
Интересуют такие вопросы: 1. Как безопасно хранить пользовательские пароли в...

Структура WPF приложения на MVVM
Здравствуйте. Разрабатываю приложение на WPF. Использую шаблон MVVM. В...


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

Или воспользуйтесь поиском по форуму:
20
Закрытая тема Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru