WinForms
Вообщем делаю примитивную программу которая будет строить примитивные графики функций. Пытаюсь сделать возможность построения нескольких графиков. В C# недавно, так что есть несколько вопросов:
1) Где лучше хранить список графиков? (Всмысле хранить экземпеляры класса графика) Сейчас я просто запихиваю их в объект ArrayList, а его в статическое поле главного окна. 2) Допустим у меня есть первое (главное) окно. И есть второе окно (пока что просто сделал его в дизайнере). Мне надо чтобы при определенном действии (нажатие на кнопку например) это окно открывалось, и пока оно будет открыто, управление главному окну невозможно будет передать, как это сделать? (Вообщем если проще то пример: открываем окно About и пока мы его не закроем перейти на главное окно нельзя, при этом окно About должно быть на переднем плане). Мне это надо чтобы открывать окно "свойств графика" (Кстати, если кто-то пользовался прогой Advanced Grapher то там именно так и сделано). |
Ответ: WinForms
там есть вроде параметр модальности в свойствах формы. посмотри хорошенько
|
Ответ: WinForms
Не нашел такого в свойствах (которые в дизайнере). Есть свойство Modal, но оно только для чтения.
|
Ответ: WinForms
ну тогда вариант просто при открытии второй формы первой форме ставить доступность(Enable) -false. а когда закрывается вторая форма первой вернуть Enable тру:)
|
Ответ: WinForms
Недовариант, хотя если другого не будет придется пользоваться этим =)
Недостатки: 1) Первая форма принимает серые оттенки. 2) Если скрыть оба окна (minimize) и в открыть главное, дочернее остается скрытым, ну и как следствие - дочернее не всегда находится перед главным. |
Ответ: WinForms
тогда юзай MIDI формыю. они кажется соответствуют тем задачам которые ты поставил:)
|
Ответ: WinForms
Сделай вот так:
form2.ShowDialog(form1); |
Ответ: WinForms
Чтобы хранить типизированные списки используй коллекции типа List<Тип> Имя_переменной = new List<Тип>();
|
Ответ: WinForms
спс PAX
Фишка с ShowDialog идеально то что надо! Кстати чем List отличается от ArrayList? И кстати где лучше хранить список то (не важно какой)? в статик поле? |
Ответ: WinForms
cтатик поля - поля которые создаются при первом обращени к классу. и являются добщими для всех экземпляров класса. идеально подходит для хранения всех экзепляров этого класса, а также общих переменных, которые можно модифицировать и/или получать значения из других классов, не обращаясь к конкретному экземпляру
|
Ответ: WinForms
На сколько я помню ArrayList не типизированный список, т.е. содержит объекты как object. Если не хочется приводить типы каждый раз при обращении к массиву, то пользуются типизированными списками, у которых при объявлении задается тип в угловых скобках. Элементы такого списка будут иметь твой тип, соответственно приведения типов не нужно.
|
Часовой пояс GMT +4, время: 16:17. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot