|
Модераторы: Partizan, gambit |
|
thomas |
|
|||
Доцент... почти Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 6 Всего: 65 |
Привет всем.
Перечитал всю тему и ответа на нужный вопрос не нашел. Имеем MDIконтейнер(главная) и ряд дочерних форм. Дочерние формы вызываются нажатием на кнопки или пункты меню в главной форме. Для того что бы избежать повторного открытия уже открытого дочернего окна выставляю свойство кнопок или меню Enable = false. Открылось дочернее окно и кнопочка болше не доступна. Все вроде розово и пушисто. Да у нужных кнопок и пунктов меню свойство modofiers выставлено в public. Но проблема в том что в событии FormClosed для дочерней формы я не могу обратиться к контролам главной формы, а только к свойствам и методам самой формы. И как решить данную задачу? ЗЫ там на первых страницах предлагаеться передавать ссылку на главную форму в конструктор дочерней, но и в этом случае до контролов главной формы не добраться. Это сообщение отредактировал(а) thomas - 23.1.2009, 18:26 -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
Drabuna |
|
||||
Дивелоперчег Профиль Группа: Участник Сообщений: 157 Регистрация: 27.3.2008 Где: Киев Репутация: 2 Всего: 3 |
МСДН помог.
В parent форме:
В child форме:
|
||||
|
|||||
thomas |
|
|||
Доцент... почти Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 6 Всего: 65 |
Привет всем еще раз.
Решение вопроса (не создавать много эекземпляров дочернего окна в MDI) подсмотрел на CODEPROJECT -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
BestRoot |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 30.10.2008 Репутация: нет Всего: нет |
Привет всем
Есть задача обратится из одного приложения в другое как это сделать ? PS мне говорили что надо через Дискрипторы но я понятия не имею как ими пользоватся |
|||
|
||||
Partizan |
|
|||
Let's do some .NET Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 8 Всего: 67 |
BestRoot, приложения левые или свои собственные?
-------------------- СУВ, Partizan. |
|||
|
||||
BestRoot |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 30.10.2008 Репутация: нет Всего: нет |
свои собственные |
|||
|
||||
Incvizitor |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 11.3.2009 Репутация: нет Всего: нет |
Приветствую всех!
Подскажите, как реализовать работу с основной формой из класса. Я работаю обычно так:
И сам класс:
Так все работает как нужно, но столкнулся с проблемой, когда пришлось в классе описывать такое:
Все что написано прочитал, но, увы, ничего не подошло, либо не понятно как использовать. Если кто может, напишите подробный пример. Заранее спасибо! Это сообщение отредактировал(а) Incvizitor - 24.3.2009, 02:01 |
||||||
|
|||||||
KelTron |
|
|||
Опытный Профиль Группа: Участник Сообщений: 745 Регистрация: 8.10.2006 Где: Красноярск Репутация: 11 Всего: 38 |
Incvizitor, напиши, что конкретно тебе нужно реализовать (как ты собираешься работать с прогресс баром), тогда уже можно будет написать конкретный пример кода.
А вообще по BackgroundWorker смотри тут -------------------- Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог. Эвенгар Салладорский, основатель Школы Тьмы. |
|||
|
||||
dekroll |
|
||||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 20.5.2009 Репутация: нет Всего: нет |
Привет всем!
Совсем недавно начал писать на Visual C++ и возникла такая же проблема. Не могу обратиться из дочерней формы на родительскую. При попытке добавить на Form2 строку
компилятор на Form1 начинает ругаться на вызов второй формы
Подскажите, пожалуйста, в чем проблема и, если можно, приведите исходник. Заранее благодарен. |
||||
|
|||||
TiMeTraSheR |
|
||||||||||||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 7.6.2009 Репутация: нет Всего: нет |
Прочитав весь топик, вычерпал некоторые полезные советы, но проблему так и не решил =(
Визуально программа выглядит так: В Program.cs создается экземпляр DataCenter, потом вызывается. В DataCenter.cs создается и вызывается экземпляр MainForm, а так же создаются экземпляры TelnetClient, Configuration и ServerManager в кол-ве одной штуки. По задумке, все вычисления должны проводиться в DataCenter, а из MainForm должны вызываться методы из созданых в DataCenter экземпляров, ну и в самой MainForm должны выводиться некоторые переменные, хранящиеся в этих экземплярах. Обращаться из MainForm в сам DataCenter и имеющиеся в нем экземпляры получается, используя следующий код
А вот как это использовать с классами я не знаю, ибо во-первых писать в каждом методе "(DataCenter p)" не удобно, а во-вторых компилятор орет на "(this)", типо его нельзя исппользовать в этом контексте. Обращаться из TelnetClient, Config и т.д. к MainForm не получается =( Да и друг к другу собственно тоже. Вот примеры:
При таком раскладе программа компилится нормально, но когда вызываешь из метод из MainForm, то происходит вылет с ошибкой "...В экземпляре объекта не задана ссылка на объект..." Дебагер указывает строчку "dc.tc.Set(dc.conf.ls_host, dc.conf.ls_port, 10);", которая в ServerManager. Предварительно спасибо на ответы ^^ ПС: прочитал свой пост, какой-то он не очень читаемый, т.к. много я его редактировал и вышла полная белеберда, но думаю общий смысл ясен. UPDATED: хм, кажется я понял свою ошибку. Я пытался обратиться не к экземпляру DataCenter, а к классу(чертежу). А как тогда обратиться к экземпляру, если он cоздан в Program? UPDATED: Проблема решена. Это сообщение отредактировал(а) TiMeTraSheR - 7.6.2009, 18:10 |
||||||||||||
|
|||||||||||||
Miktor |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 1.8.2009 Репутация: нет Всего: нет |
Здравствуйте,у меня проблема.
Есть главная форма Form1. В ней есть кнопка:
Открывается новая форма с 4 полями для ввода(в них уже стоят значения переданные в массиве) и 1 кнопкой,при нажатие на которую
должны передаваться в основную форму некие данные введенные в текстбоксы но VS говорит :
Подскажите что я делаю нетак. |
||||||
|
|||||||
Enteropoly |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 50 Регистрация: 17.6.2009 Репутация: нет Всего: нет |
||||
|
||||
IAmHell |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 19.10.2009 Репутация: нет Всего: нет |
Здравствуйте.
Имеется 2 формы : Form1 - родительская, Form2 - дочерняя Требуется чтобы объект класса Form2 был виден всем ункциям класса Form1 и была возможность передать в конструктор Form2 указатель на объект класса Form1, т.е. на родительскую форму Сейчас это выглядит так:
Так форма F видна из всех функциий класса Form1 (если убрать из списка параметров this), но компилятор ругается на this в качестве параметра при создании объекта класса Form2: error CS0027: Keyword 'this' is not available in the current context В конструкторе Form2 всё прописано как положено и он тут не при чём Где (или как?) нужно объявить экземпляр класса Form2 чтобы он был виден из всех функций класса Form1 и можно было передать ему указатель на родительскую форму? Это сообщение отредактировал(а) IAmHell - 19.10.2009, 22:31 |
|||
|
||||
Partizan |
|
|||
Let's do some .NET Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 8 Всего: 67 |
IAmHell, перенесите создание объекта в конструктор.
-------------------- СУВ, Partizan. |
|||
|
||||
IAmHell |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 19.10.2009 Репутация: нет Всего: нет |
Partizan, вы имеете в виду так?
Пробовал и так. Тогда форма F не доступна для функций Func1() и Func2() |
|||
|
||||
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | .NET для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |