|
|
Другие темы раздела | |
C# Выбрать текстовый файл Есть папка с текстовыми файлами(1.txt...9.txt). Как открыть один из них используя combobox? Т.е в нем должны быть названия этих файлов. https://www.cyberforum.ru/ windows-forms/ thread1558172.html |
C# Передача данных из одного приложения в другое У меня есть программа С# Windows Form, на выходе которой имею два массива. Я запустил эту программу и получаю каждую секунду новые массивы, вывожу их на график. Пришла пора их как-то передать в совсем другую программу. Просто, вот создам я пустой Windows Forms и надо бы написать что-то типа Idata,Qdata get(data from Windows Forms 1); Text1 = Idata; И чтобы после запуска второго приложения оно... |
C# Исправьте алгоритм таким образом, чтобы он учитывал возможность определения палиндрома для строки
https://www.cyberforum.ru/ windows-forms/ thread1558041.html Int64 Factorial2 (Int64 num) { if (num == 0) Factorial2 = 1 else Factorial2 = num * Factorial2 (num-1) return Factorial2; } |
C# Необработанное исключение типа System.IO.IOException
https://www.cyberforum.ru/ windows-forms/ thread1557997.html не могу понять в чем причина.. |
C# Ограничения перемещения формы Здравствуйте, не получается ограничить перемещение формы, чтобы она не выходила за границы экрана. Сверху и справа ограничение работает, не знаю, как задать ограничение снизу и справа. Нашел в интернете, что есть класс Screen, но при этом не получается им воспользоваться. Как прописать ограничение через класс Screen? Или может есть другой вариант, но при этом без задания каких то констант?... |
C# Не виден текст DataGridView Row HeaderText
https://www.cyberforum.ru/ windows-forms/ thread1557935.html Здравствуйте. Подскажите почему не получается сделать нумерацию строк DataGridView. Столбцы без проблем нумеруются. Такой вариант не помог. row.HeaderCell.Value = String.Format("{0}", row.Index + 1); И другие ... |
C# Распределения случайной величины
https://www.cyberforum.ru/ windows-forms/ thread1557895.html Здравствуйте, кто может помочь, очень надо..( Задание: Написать программу(С# windows form) (Нужно отобразить графически на charte) для построения распределений с соответствующими параметрами: a. Бернулли p = 1 / (4); b. Биноминальной распределение p = 1 / (5), n = 23; c. распределение Пуассона λ = 23; d. равномерное распределение a = -3 b = 3; e. нормальное распределение со... |
C# TabControl скроллинг Здравствуйте. На TabControl есть длинный TabPage, который сворачивается с появлением полосы прокрутки. Тут все хорошо. В конце TabPage находится GroupBox. Проблема в том, что когда либо наводишь мышкой на groupbox и ждешь, либо нажимаешь на него, скролл сбрасывается в нуль. Т.е. я оказываюсь в начале страницы, и приходится опять опускаться вниз и повторять те же действия. Как это исправить? ... |
C# Исправьте ошибку в алгоритме При запуске отображается вместо нуля другое число. То есть не правильно считается общее кол-во пройденных пикселей. https://www.cyberforum.ru/ windows-forms/ thread1557844.html |
C# Не адкватная реакция кнопки на нажатие
https://www.cyberforum.ru/ windows-forms/ thread1557795.html Суть проста. Надо сделать лабу и в ней "отработать документ". Т.е. сделать эдакую прогу представление документа. Я уже всё сделал и всё такое. И вдруг обнаружил, что на 3 из 3 вызываемых форм у меня галюны какие-то. Если нажимать первые 2 кнопки, то дочерняя форма закрывается! Так не должно быть! Они текст должны показывать! А если на 3 кнопку жать, то показывается текст- так и надо. Почему... |
C# Избегание зависания при отправке почты Тема решена. |
C# Настроить взаимодействие происходящего на экране с окружающим миром наткнулся на такое прикольное видео, cut может кто знает как можно сделать похожее ?? заранее спасибо! https://www.cyberforum.ru/ windows-forms/ thread1557762.html |
21.10.2015, 17:47 [ТС] | 0 | |||||||||||||||
Архитектура ПО в WinForms (FAQ & HowTo) - C# - Ответ 822522021.10.2015, 17:47. Показов 169502. Ответов 12
Метки (Все метки)
Ответ
Использование UserControl
UserControl – лучшее решение для реализации интерфейсов в WinForms. Пользовательский контрол позволяет разбить GUI на независимые части, где каждый UserControl отвечает только за отображение одного объекта модели данных. Код в таком случае становится более простым, лаконичным и однородным. Также:
Начинающие программисты редко используют UserControl, видимо считая их сложными. На самом деле создание UserControl ничем не отличается от создания новой формы. Разница лишь в том, что форма может быть открыта в виде отдельного окна, а контрол – нужно положить на другую форму. Практическая реализация Пусть нам нужно отобразить объект данных класса Data. Наиболее простой вариант пользовательского контрола может быть таким: Пример
Код содержит свойство Data, хранящее редактируемый объект, и два метода: Build(Data data) и UpdateData(). Первый из них – заносит данные из Data в контролы. Второй – наоборот – заносит данные из контролов в объект Data. Оба метода, и свойство – публичные, и могут вызываться извне. Для использования этого UserControl, нужно разместить его на форме и в определенный момент вызвать метод Build(), передав ему объект для отображения (например после того, как пользователь кликнул на элемент в списке объектов). На событие Validating контрола – создать обработчик такого вида: Пример
Этот код будет заносить изменения в объект при выходе пользователя из UserControl. Возможен другой вариант – с кнопкой Apply/Save/Ok. Тогда нужно вызвать метод UpdateData из обработчика нажатия кнопки. Примеры UserControl смотрите также в главе "Как сделать панель свойств" и в упражнениях к этой главе. Замечания
1) Обрабатывать ошибки ввода (try/catch) можно и непосредственно внутри метода UpdateData(). Но в таком случае, метод должен возвращать bool сигнализирующий о том, что метод отработан удачно. 2) Для оповещения об изменениях в объекте в UserControl можно сделать событие DataChanged. 3) Обратите внимание, что созданный UserControl появляется в Toolbox VisualStudio только после того как приложение было скомпилировано. 4) Не передавайте объект данных в конструктор UserControl. Во-первых потому что один контрол может быть использован для редактирования нескольких разных объектов, а во-вторых, обновление контрола может быть вызвано несколько раз даже для одного и того же объекта. Кроме того, если ваш конструктор будет иметь параметры, вы не сможете редактировать его в дизайнере форм. Advanced features
Часто бывает нужно изменять свойства объекта сразу после внесения изменений (например, менять свойство объекта непосредственно в процессе набора текста в TextBox). Тогда можно реализовать следующую схему: Пример
Счетчик updating используется для предотвращения зацикливания программы при обновлении данных в контролах. Упражнение 1
Создайте приложение, которое считывает все картинки из папки Изображения (используйте метод Environment.GetFolderPath(Environment.SpecialFolder.MyPictures)), отображает на форме все картинки, рядом с каждой картинкой выводится имя файла, и размер файла. Имя файла можно менять, соответствующий файл должен переименовываться. Общий вид приложения: Решение: Example8.zip Упражнение 2
Создайте приложение для расчета напряжения по известным значениям сопротивления и силы тока (Закон Ома: U = IR). Интерфейс программы должен позволять производить одновременный расчет для трех наборов параметров. Также программа должна вычислять и отображать суммарное напряжение для всех наборов данных (U = U1 + U2 + U3). Запретить ввод сопротивления меньше 0. Общий вид приложения: Решение: Example9.zip Упражнение 3
Если вы реализовали Упражнение 2 с моделью Rich, то переделайте его на модель Anemic. Если у вас была модель Anemic (ну а вдруг)), то переделайте на модель Rich. (Что такое Rich и Anemic смотрите в главе "Как разработать модель данных?") Решение для Anemic: Example10.zip Решение для Rich преведено в предыдущем упражнении. Вернуться к обсуждению: Архитектура ПО в WinForms (FAQ & HowTo) C#
45
|
21.10.2015, 17:47 | |
Готовые ответы и решения:
12
query='SELECT * FROM resume WHERE ' & ''' & RecSet('place')& ''' & '=' & '''& s_loc &''' & - что не так? MVVM & WinForms error '80020009' Îøèáêà. /lalala/profile.asp, line 28 Помогите найти драйвера для pci\ven_8086&DEV_266E&SUBSYS_A002145&REV_05\3&13C0B0C5&0&F2 |
21.10.2015, 17:47 | |
21.10.2015, 17:47 | |
Помогаю со студенческими работами здесь
0
немогу найти драйвера на PCI\VEN_1039&DEV_7012&SUBSYS_810D1043&REV_A0\3&61AAA01&0&17 Нужен драйвера, код PCI\VEN_1039&DEV_7012&SUBSYS_0C98105B&REV_A0\3&B1BFB68&0&17 Мультимедиа контролер PCI\VEN_14F1&DEV_8800&SUBSYS_EA3D14F1&REV_05\4&25700A26&0&3020 Драйвера на PCI\VEN_10B7&DEV_1700&SUBSYS_80EB1043&REV_12\4&2E98101C&0&28 F0 |