![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
На самом деле это стандартная операция, WithEvents - штука очень удобная, особенно если в дизайнере используется, только я думаю, что это наследие старого васика. Кроме AddHandler ещё прочитай про RemoveHandler - обратная операция. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Кстати: я тут одну штуку обнаружил, оказывается у формы по-умолчанию свойство KeyPreview имеет значение False. Поэтому она у тебя и не ловит события клавиатуры. Поменяй значение - будет ловить(хотя ИМХО - лучше этого не делать).
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| omankit |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 13.10.2008 Репутация: нет Всего: нет |
ИТОГОВЫЙ КОД!!!!!!!!!!!
Код Public Sub FillKeyUpSubToControls(ByVal ctl As Control) For Each con As Control In ctl.Controls If TypeOf con Is TextBox Then Dim tb As TextBox = CType(con, TextBox) AddHandler tb.KeyUp, AddressOf ControlKeyApp ElseIf TypeOf con Is ContainerControl Then FillKeyUpSubToControls(con) ElseIf TypeOf con Is SplitterPanel Then FillKeyUpSubToControls(con) End If Next End Sub Public Sub ControlKeyApp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) If TypeOf sender Is TextBox Then Dim ActiveTextBox As TextBox = CType(sender, TextBox) If e.KeyCode = Keys.C AndAlso e.Control Then My.Computer.Clipboard.SetText(ActiveTextBox.SelectedText) End If If e.KeyCode = Keys.V AndAlso e.Control Then ActiveTextBox.SelectedText = My.Computer.Clipboard.GetText End If End If End Sub |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Я же написал насчёт ConteinerControl, что зря его использовал, и привёл исправленный вариант кода, в котором всё учтено.
Перечитай -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| omankit |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 13.10.2008 Репутация: нет Всего: нет |
в смысле так?
Добавлено через 5 минут и 4 секунды я конечно понимаю что это временное решение почему может все это дело не работать на автомате????? и выделение и копирование??? где можно такой касяк сделать чтобы это все сдохло?? |
||||
|
|||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
В смысле так, я же ссылку оставил
Про автоматы поясни, ничего не понял. Это сообщение отредактировал(а) diadiavova - 29.10.2008, 12:33 -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| omankit |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 13.10.2008 Репутация: нет Всего: нет |
вот создаю я проект и все в нем работает копируется выделяется мышкой и без дополничельных эвантов. А здесь это ничего не работает. И как понять где глюк я не знаю. может есть какой нибудь способ определить где блокируется
Добавлено @ 13:47 Я так понимаю что глюк гдето здесь!! Из того что я понял тут происходит получение кода стороки где прописано название формы и свойства и контрол который будет контейнером для нее. Может определяется что не правильно? Потому что если запустить форму в обход кода этого начинает работать все. Вот с этим сейчас и копаюсь.
вообщем фишка как я понимаю в чем. надо показать форму привязанную к сплит панели2 главной формы, а в спилт панели1 этого же сплитконтейнера главной формы находится меню для выбора форм вот так. И при этом коде слитают функции системы вот где не разобрался толи при toplevel толи при parent Это сообщение отредактировал(а) omankit - 29.10.2008, 15:06 |
|||
|
||||
| diadiavova |
|
||||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
А ет чиво, я извиняюсь, тако есть? При такой логике ошибиться не мудрено. Кроме того ты предлагаешь мне проанализировать фрагмент чужой проги, при том, что я не вижу целого и не знаю твоих замыслов. Сохранять типы объектов в виде строки надо не так.
У тебя сохранится информация и о сборке, и о типе. Восстановить тоже не проблема(напишу по памяти, если не сработает пиши - иправлю)
Далее переменную obj конвертить куда надо Тут направление правильное, где-то мог напутать в деталях - студию только закрыл, открывать неохота. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
||||||
|
|||||||
| omankit |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 13.10.2008 Репутация: нет Всего: нет |
вообщем фиха как раз в toplevel а если не ставить то не прикручивается форма к контролу ххх чего же делать. Нужно подцепить на нее все функции системы. Интересный вопрос? Это сообщение отредактировал(а) omankit - 29.10.2008, 16:59 |
||||
|
|||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
А что мешает хранить в базе полное имя класса? Зачем эти сложности с именем сборки и прочее? CreateInstance принимает полное имя класса - вот и храни его, если имя класса завязано на имени сборки это только усложнит жизнь. Код надо делать проще, тогда и баги искать легче. А зачем форму к контролу привязывать? Привяжи к форме на которой контрол находится (свойство Owner) , да и потом, если подписаться на событие контрола, то не важно какой у него парент или левел. Я уже писал(и не только я), что если тебя интересует контрол - подписывайся на его события. А если я чего-то не понял, то ты плохо объяснил. Да, ещё... Эт щто? Если количество строк 1 - код выполняется. А если 2? А как ты формы ищешь? Как чего привязываешь, что слетает? Ничего не ясно. Какой помощи ты ждёшь я тоже не понял. Постарайся изложить проблему с учётом того, что я твоего проккта не видел, и не знаю, твоей задумки. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| ProgrammingLife |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 19.1.2008 Где: ЧИРЧИКАГО (UZ) Репутация: нет Всего: нет |
а на С# есть код!?
|
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Какой именно? Это сообщение отредактировал(а) diadiavova - 3.11.2008, 20:18 -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| omankit |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 13.10.2008 Репутация: нет Всего: нет |
Вообщем переделал интерфейс так чтобы можно было использовать MDI формы. Теперь все работает. За копирование/всавку через ctrl+с ctrl+v. diadiavova отдельное спасибо что объяснил как это работает. А привязку формы к контролу разбирать не буду. все равно где нить через год на WPF перейду полностью.
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |