Извините за столь глупый вопрос, но никак не могу в VB.net сделать эту задачу, может я совсем тупой?
Ладна, что-то я отвлекся:
Есть 2 формы frmMain и frmFind
frmMain (основная, т.е. с нее начинается загрузка)
frmFind (форма для поиска текста....)
frmFind.TopMost = True
Как мне сделать так, чтобы frmFind оставалась "повер всех", а фокус передавался на frmMain????? Нигде не могу найти, у меня уже комплексы по этому поводу....
если мне не изменяет память - там в опциях формы есть такая опция... Но я могу ошибаться... А если ошибаюсь с этим, то енто мона реализовать через апи - кажется SetFocus или что-то типа того...
Но с другой стороны, возникает вопрос - как ты себе это представляешь и видел ли ты? У меня, если честно, в голове ента комбинация не укладывается - одно окно поверх всех, но без фокуса, а окно под ним с фокусом - ИМХО не выйдет, дабы то окно которое поверх всех всегда будет с фокусом...
Вполне укладывактся, и ты такое тоже видел Это текстовый редактор, frmMain - основная форма приложения, frmFind - форма поиска. Как это должно работать?:
- открываем приложение + загружаем текстовый файл
- ищем в файле строку (с помощью frmFind), так вот, когда строка найдена frmFind должна позиционироваться относительно этой строки, но не убираться с экрана, для того что бы мы смогли продолжить поиск.... Вот это-то я и пытаюсь реализовать...
Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, _ ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal uFlags As Long) As Long
Public Const HWND_TOPMOST = -1 Public Const HWND_NOTOPMOST = -2
Public Const SWP_NOSIZE = &H1 Public Const SWP_NOMOVE = &H2 Public Const SWP_NOACTIVATE = &H10
SetWindowPos Form.hWnd, HWND_TOPMOST, 0, 0, 0, 0, _ SWP_NOSIZE Or SWP_NOMOVE Or SWP_NOACTIVATE
И меняй константы для включения или отключения этого режима. TopMOST окно будет всегда сверху даже если неактивно..