|
Показ Form2 из Form1 с сохранением фокуса в Form1
|
|||
---|---|---|---|
#18+
Добрый день! Помогите пожалуйста решить небольшую проблемку. Проект C# (WinForms). В Form1 по кнопке создаю Form2 типа Form и кладу на Form2 единственный Label. Задача: Показать Form2, но чтобы на нее не перешел фокус, а остался в Form1, то есть чтобы в Form1 даже не сработал Deactivate. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
Модератор: Учимся использовать тэги оформления кода - FAQ Пробовал Disabl'iть L и ff - не помогает. Deactivate у Form1 все равно срабатывает. Может какие св-ва в ff выставить ... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2019, 05:11 |
|
Показ Form2 из Form1 с сохранением фокуса в Form1
|
|||
---|---|---|---|
#18+
AlexV1... чтобы в Form1 даже не сработал Deactivate. Наверно никак. Фокус вернуть на Form1 можно. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2019, 16:48 |
|
Показ Form2 из Form1 с сохранением фокуса в Form1
|
|||
---|---|---|---|
#18+
через винапи это делает онли ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2019, 23:13 |
|
Показ Form2 из Form1 с сохранением фокуса в Form1
|
|||
---|---|---|---|
#18+
авторчерез винапи это делает онли Да? а поподробней можно? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 04:33 |
|
Показ Form2 из Form1 с сохранением фокуса в Form1
|
|||
---|---|---|---|
#18+
Насчет API. Код: c# 1.
Да, действительно показало форму Form2, не активировав ее. Но вот Deactivate у From1 все равно почему то сработал, вот зараза то. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 09:26 |
|
Показ Form2 из Form1 с сохранением фокуса в Form1
|
|||
---|---|---|---|
#18+
AlexV1авторчерез винапи это делает онли Да? а поподробней можно? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
После того как к окну будет применен данный стиль верните фокус в основное окно, а окно к которому применили стиль перестанет отвечать на сообщения и обрабатывать события, фокус к него не должен переключаться, офк ввод тоже будет недоступен hwnd окна в WF получить, вроде как, плёвое дело, оно есть прямо в свойствах формы ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 09:27 |
|
Показ Form2 из Form1 с сохранением фокуса в Form1
|
|||
---|---|---|---|
#18+
Roman Mejtes, Deactivate у From1 все равно сработал. Применял ваш рецепт к Form2. К Form1 не вариант применять ваш рецепт, т.к. вместо Form1 может быть любая другая из 100 форм. Я уже думаю, может программно у Form1 временно (на время Form2.Show) отключать все, что навешано на Form1.Deactivate путем присвоения null (предварительно запомнив список handlers), а потом восстановить обратно. Или может есть способ без отписки/подписки просто отключить обработчики Form1.Deactivate (задизэйблить так сказать)? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 10:16 |
|
Показ Form2 из Form1 с сохранением фокуса в Form1
|
|||
---|---|---|---|
#18+
всплывающие подсказки что ли сделать пытаетесь? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 10:34 |
|
Показ Form2 из Form1 с сохранением фокуса в Form1
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 10:38 |
|
Показ Form2 из Form1 с сохранением фокуса в Form1
|
|||
---|---|---|---|
#18+
просто добавьте условие в событие Deactivate if (myState) return; и не будет оно обрабатываться, в чем проблема, не понятно если событие возбуждено, это еще не значит, что оно будет "обрабатываться" обработчиком в полном объёме ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 10:58 |
|
Показ Form2 из Form1 с сохранением фокуса в Form1
|
|||
---|---|---|---|
#18+
Konst_Oneвсплывающие подсказки что ли сделать пытаетесь? Да Konst_Oneтут: https://stackoverflow.com/questions/156046/show-a-form-without-stealing-focus Не помогло. Deactivate как ни крути у вызывающей формы срабатывает, хоть 2-я форма не активируется. Из 1-й все равно активность уходит куда то. А так, задача прям как у меня :-) Konst_Oneпросто добавьте условие в событие Deactivate Код: c# 1.
Накрайняк можно, спасибо за подсказку.Просто неудобно что вместо Form1 у меня может быть 1 из 100 форм и во всех придется вставлять if (myState) на Deactivate не забывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 11:21 |
|
Показ Form2 из Form1 с сохранением фокуса в Form1
|
|||
---|---|---|---|
#18+
AlexV1, Тему можно закрывать. В итоге Form2 заменил на Panel, т.к. Panel не забирает фокус у тек.формы. Задача была - сделать класс типа Toast на Android'е (кратковременная всплывающая подсказка с закруглеными краями). ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 15:53 |
|
Показ Form2 из Form1 с сохранением фокуса в Form1
|
|||
---|---|---|---|
#18+
Panel же будет плавать в рамках окна, а если она не влезет в окно? так и не понял, в чем проблема, если честно. В чем проблема реализовать окно подсказку? В WPF это вообще делается левой ногой, хоть круглый ToolTip, хоть треугольный ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 16:06 |
|
|
start [/forum/topic.php?fid=20&msg=39845934&tid=1398851]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
157ms |
get topic data: |
8ms |
get forum data: |
1ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 257ms |
total: | 497ms |
0 / 0 |