8 / 16 / 2
Регистрация: 15.06.2015
Сообщений: 247
|
|
1 | |
Как связан код программы с интерфейсной частью?06.07.2018, 08:33. Показов 1344. Ответов 7
Вопрос касается не только c#..., но все же интересно как это сделано в c#.
Допустим есть программа с интерфейсом uwp, или wpf, или winforms... код написан на c#(а может и на другом яп). Как это все связано? Я понимаю, что у кнопки есть событие и на него я вешаю некое действие...НО как программа понимает что произошло событие нажатия на кнопку. Где та связь между wpf(uwp) и кодом? ну или допустим я захочу нарисовать свою кнопку(или другой визуальный объект) с блекджеком....Как это сделать? куда смотреть? что читать? Как заставить этот объект запускать событие? Какими средствами вообще разрабатываются эти визуальные объекты? Как можно самому сделать свою систему интерфейса типо WPF?(понятно что оно нафиг никому не надо, но чтобы понять как работает...почему бы и нет) да и в чем кардинальное отличие wpf и winforms, за исключением того что в wpf проще сделать что-то красивое? в чем отличие программное их?
0
|
06.07.2018, 08:33 | |
Ответы с готовыми решениями:
7
Как связан в данном случае HTML-код? JavaBuilder + код из html связан с button actionlistener. Связи: человек1 связан с человек2, --в свою очередь человек2 связан с человек3 Создание программы с клиентской частью |
6492 / 3903 / 2005
Регистрация: 14.06.2018
Сообщений: 6,781
|
|
06.07.2018, 09:14 | 2 |
Операционная система генерирует кучу событий. Например нажатие клавиши, движение мыши, клик мыши.
Программа подписывается на эти события операционной системы. Соответственно для начала Вам нужно изучить, что такое делегаты и события C#. Потом уже грамотно понимать, как WinForms/WPF цепляют обработчики событий. Для новичка особой разницы между WPF и WinForms месяца три практически не будет.
0
|
8 / 16 / 2
Регистрация: 15.06.2015
Сообщений: 247
|
|
06.07.2018, 09:23 [ТС] | 3 |
Я представляю что такое делегаты и события. Я не врубаюсь что именно заставляет работать вместе wpf и код а c#.
Я знаю как прописать действие на событие у кнопки, но я не врубаюсь почему же эта гадость работает! Где прописывается такое "вот это интерфейс на wpf и он будет работать с файлом 123.cs, а файл 123.cs в свою очередь будет работать с интерфейсом 123.xaml" Делегаты и прочая шняга принимают это уже как данность и просто работают. а как прописывается эта связка? Добавлено через 2 минуты И когда я говорил про "свою кнопку", я имел ввиду не <button name="моякнопка">, а про <mycustommegabuttonwithblackjack>...
0
|
6492 / 3903 / 2005
Регистрация: 14.06.2018
Сообщений: 6,781
|
|
06.07.2018, 09:41 | 4 |
Phobos92, грубо говоря XAML и код C# это partial class-ы.
При компиляции соединяются в единое целое. Компилятор объединяет. Добавлено через 12 минут Кстати, в этом плане первое встреченное отличие будет: - WPF иногда прицепляет XAML, но может прекрасно обходиться без XAML. - WinForms не прицепляет XAML, там в проекте cs-файлы и ресурсы.
1
|
1 / 1 / 1
Регистрация: 14.10.2015
Сообщений: 94
|
|
06.07.2018, 10:12 | 5 |
Если без замудренных архитектурных особенностей, то в WinApi скорее всего есть какой-то метод, который вызывается каждый кадр в котором и проверяется была ли нажата какая-либо клавиша или что-нибудь другое. Потом это отправляется уже на уровень выше в WPF или WinForms и вдруг вот если было нажато, то уже идет вызов события.
На самом деле, может быть это не точно, но в Unity так это и сделано. Просто создается объект EventSystem единственный, который проверяет вообще всеееее изменения каждый кадр, от нажатия кнопки, до движения курсора. А потом уже если что-то было сделано, то вызывается соответствующее событие. Примерно так, но это я так думаю, на практике может все по другому обстоит.
1
|
управление сложностью
|
|
09.07.2018, 08:08 | 6 |
для этого программисты "расставляют жучки", которые оповещают что произошло "такое-то" событие, и те жучки, которые закодированы на определенные события как-то должны реагировать (не зря же их программист "расставил"). События по большей части нужны для GUI, чтоб реагировать на команды юзверя. И не важно на каком языке эта реализация, это просто концепция.
WPF это уже технология. По сути в книгах описываются механизмы реализации на том или ином языке, взять тот же WPF. Но есть одно но, например в книге МакДональда упущена одна важная глава про MVVM новичку действительно сложновато разобраться как нужно делать правильно.
0
|
6492 / 3903 / 2005
Регистрация: 14.06.2018
Сообщений: 6,781
|
|
09.07.2018, 09:46 | 7 |
Почтальон, сейчас на сайте Metanit очень хорошее описание MVVM:
https://metanit.com/sharp/wpf/22.1.php Плюс корифеи C# много пишут об асинхронности в MVVM. Тут из Яндекса: https://yandex.ru/search/?text... rosoft.com В принципе литературных источников сейчас очень много.
0
|
управление сложностью
|
|
09.07.2018, 09:48 | 8 |
amr-now, про метанит я знал, я имел ввиду печатную литературу и на русском
0
|
09.07.2018, 09:48 | |
09.07.2018, 09:48 | |
Помогаю со студенческими работами здесь
8
char_t и как он связан с оперативкой? Связан ли как-либо апплет с документом HTML? Не могу понять как связан PHP c CSS Как узнать с каким полем БД связан MaskedTextBox? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |