| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > panel |
| Автор: larinva 11.8.2010, 10:54 |
| Народ помогите думал, что разобрался оказывается не совсем. Не могу сообразить, ситуация такая: имею 2 формы form1 на ней расположена panel1, на form2 кнопка по нажатию которой происходит сканирование сети , находятся компы к ним прибавляется картинка. Нужно чтобы найденные картинки добавились на panel1 form1. Пож-та |
| Автор: larinva 11.8.2010, 11:55 |
| Народ помогите |
| Автор: Springtime 11.8.2010, 12:11 |
| BeginInvoke http://msdn.microsoft.com/en-us/library/system.windows.forms.form.begininvoke.aspx |
| Автор: KelTron 11.8.2010, 12:17 |
| Что именно не получается? |
| Автор: larinva 11.8.2010, 12:25 |
не получается на нажатию кнопки на form2 добавить на form1 panel1 найденный результат это нужно добавить |
| Автор: KelTron 11.8.2010, 12:38 |
| Вот тебе пример с листбоксом, что тебе надо по аналогии.. |
| Автор: larinva 11.8.2010, 12:51 | ||
получается мне нужно передать в panel вот это. Как это сделать
|
| Автор: Springtime 11.8.2010, 13:02 |
BeginInvoke http://msdn.microsoft.com/en-us/library/sy...egininvoke.aspx |
| Автор: larinva 11.8.2010, 13:17 | ||
делаю так и ничего
|
| Автор: KelTron 11.8.2010, 13:30 |
| Springtime, наверно тебя не понял, т.к. BeginInvoke тут вообще не при чём. Нифига непонятно что ты хочешь, уже и так тебе пример дал в котором всё наглядно, формулируй свой вопрос внятно и может тебе кто то поможет. |
| Автор: larinva 11.8.2010, 13:52 | ||
мне нужно в panel вот это
|
| Автор: Springtime 11.8.2010, 14:16 |
Это ты наверное не совсем понял - ДВЕ ФОРМЫ!!!!! НА ФОРМЕ-2 КНОПКА! ТО ЕСТЬ НА ФОРМУ-1!!! ЧТОБЫ ОДНА ФОРМА ВЗАИМОДЕЙСТВОВАЛА С ДРУГОЙ!!!! В ТОМ ЧИСЛЕ ДОБАВЛЯЛА ЭЛЕМЕНТЫ. |
| Автор: larinva 11.8.2010, 14:24 |
| проблемы взаимодействия нет, проблема с добавление найденных элементов ТОЛЬКО НА ПАНЕЛЬ НА ДР КОНТРОЛЫ ПРОБЛЕМ НЕТ !!! |
| Автор: Springtime 11.8.2010, 14:29 |
| покажи как это делаешь? |
| Автор: larinva 11.8.2010, 14:32 | ||
|
| Автор: larinva 11.8.2010, 15:07 | ||
|
| Автор: Springtime 11.8.2010, 15:10 |
не добавишь ты контролы из одной формы в другую, ты можешь только передать параметры другой форме на создание по определённым правилам и с определёнными параметрами требуемых тебе контролов. |
| Автор: larinva 11.8.2010, 15:21 |
мне и не нужно добавлять ни каких контролов, а нужно добавить массив компов которые нишлись на саму панель вот в таком виде должна получиться карта сети |
| Автор: Springtime 11.8.2010, 15:29 |
бугага ))))) массив компов - это у тебя системные блоки с мониторами или без мониторов? |
| Автор: larinva 11.8.2010, 15:57 |
| с монитором |
| Автор: KelTron 11.8.2010, 16:05 | ||
Без паники..) Ладно, ты понял что надо сделать, но BeginInvoke тут вообще не при чём. Видимо тут только один выход остался, нужно произнести заклинание: "О, великая panel! Прими от меня этот скромный дар - массив компов. И да будут они добавлены, и да построится карта сети! Аминь. " |
| Автор: larinva 11.8.2010, 16:18 | ||
| неужели никому не понятно что мне нужно Добавлено через 4 минуты и 48 секунд если вот этот код добавить в кнопку на form1 то все замечательно добавляется в текущую panel
нужно тоже самое только из form2 при нажатии на кнопку |
| Автор: Fortnox 11.8.2010, 16:33 | ||||||
larinva, от чего наследуется класс WorkStat? Если от класса, представляющего собой элемент управления, то:
либо создать метод в первой форме на добавление элемента в панель: форма раз:
форма два:
KelTron уже кидал проект, в котором достаточно было изменить листбокс на панель. Да и следовало бы описать, что за класс WorkStat и workst в твоем коде. |
| Автор: larinva 11.8.2010, 16:42 | ||
| Fortnox первый случай не прокатывает я уже пробовал вываливаются ошибки 1 Ошибка 3 Наиболее подходящий перегруженный метод для "System.Windows.Forms.Control.ControlCollection.Add(System.Windows.Forms.Control)" имеет несколько недопустимых аргументов G:\NetworkMonitoring\NetworkMonitoring\WizardNetworkForm.cs 279 17 NetworkMonitoring 2, Ошибка 4 Аргумент "1": преобразование типа из "NetworkMonitoring.WorkStat" в "System.Windows.Forms.Control" невозможно G:\NetworkMonitoring\NetworkMonitoring\WizardNetworkForm.cs 279 53 NetworkMonitoring Вот сам класс WorkStat
|
| Автор: Fortnox 11.8.2010, 16:49 | ||
larinva, наследуйте класс WorkStat от Control, раз этот класс является визуальным, избавитесь от многих проблем.
|
| Автор: VirusUZ 11.8.2010, 16:52 |
| Listview или UserControl |
| Автор: larinva 11.8.2010, 16:58 | ||
Fortnoxпри таком способе выводит ошибку
Ошибка 1 Несовместимость по доступности: доступность типа параметра "NetworkMonitoring.WorkStat" ниже доступности метода "NetworkMonitoring.MainForm.AddNewWorkStation(NetworkMonitoring.WorkStat)" G:\NetworkMonitoring\NetworkMonitoring\MainForm.cs 24 21 NetworkMonitoring |
| Автор: Fortnox 11.8.2010, 17:07 | ||
larinva, установите доступность public классу WorkStat:
|
| Автор: larinva 11.8.2010, 18:14 |
| сделал доступность public классу WorkStat ошибка исчезла но и ничего не добавляется |
| Автор: Springtime 11.8.2010, 19:24 |
Да конечно, давайте организуйте взаимодействие между двумя потоками форм. |
| Автор: larinva 11.8.2010, 19:47 |
| Springtime не сочтите за грубость но вы уже достали своими потоками. Покажите пример уж коли так |
| Автор: larinva 12.8.2010, 08:28 | ||||
| похоже что переменная workst пустая потому, что на панель ничего не добавляется form1
form2
|
| Автор: Fortnox 12.8.2010, 10:26 |
| larinva, сделал небольшой пример. |
| Автор: larinva 12.8.2010, 11:05 |
| отлично Fortnox |
| Автор: larinva 12.8.2010, 11:39 |
| сп-бо тебе Fortnox что со мной долго мучился и пример то что нужно с меня + |