VB.net вывести окно на передний план - PullRequest
10 голосов
/ 18 июля 2011

Какой код в VB.net 2010 мне нужно установить, чтобы окно выходило в переднюю часть экрана.

Я пытаюсь отобразить тип срочного оповещения, его форму, по некоторым причинам я не использую окно сообщения.

Кто-то предложил следующий код, но он не работает:

  Private Sub frmMessage_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Me.BringToFront()
    End Sub

Ответы [ 20 ]

0 голосов
/ 28 августа 2017

Если то, что вы хотите, это принести с, после того, как winfom потерял фокус или был свернут В моем случае, работа, когда я открываю winform на кнопке.

    frmProducts.Show()
    'Retorre the original State
    frmProducts.BringToFront()
    frmProducts.WindowState = FormWindowState.Normal
0 голосов
/ 07 января 2014

маленькая хитрость:

me.hide()
me.visible = true
0 голосов
/ 17 октября 2013

Просто установите свойство Owner формы, которую вы хотите отобразить сверху:

Dim frmMessage As New Form()
frmMessage.Owner = frmMain   'frmMain is the form creating the message window
frmMessage.Show()

Теперь frmMessage всегда будет сверху frmMain, независимо от фокуса.

0 голосов
/ 25 июля 2013

Я использую:

dim tempResult as dialogResult = frmName.showDialog()

и в названной форме:

me.dialogResult = dialogResult.{OK, Abort, whatever}

Код вызывающей формы ожидает результата вызова форм, прежде чем продолжить выполнение.

0 голосов
/ 09 мая 2013

Если ничего не работает, попробуйте щелкнуть правой кнопкой мыши и выберите «Переместить на передний план». Если другие изображения покрывают то, которое должно быть спереди, просто щелкните правой кнопкой мыши каждое из них и выберите «Отправить назад», если необходимо.

0 голосов
/ 21 марта 2013

Мое требование состояло в том, чтобы открыть возможно свернутое приложение и развернуть его максимально активно.Немного покопавшись в сети, я нашел часть ответа на форуме c ++.

WindowState = FormWindowState.Maximized
Me.Activate()

Это привело мое приложение в любое состояние (maxxed, mini'd, big, small, позади материала).это выдвинуло это вперед и максимизировало это на экране.т.е. выскочил на экран, чтобы я мог видеть!

0 голосов
/ 15 марта 2017

см. Следующий пример при загрузке формы

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    Me.TopMost = True

End Sub
0 голосов
/ 02 июля 2014

Как написал другой пользователь, один из моих любимых способов - установить владельца форм. Делая это, дочерняя форма всегда будет располагаться поверх родительской формы, когда любая форма сфокусирована, активирована и т. Д. Что приятно в этом, так это то, что вам не нужно перехватывать какие-либо специальные события и выполнять какой-либо специальный код. Предположим, у вас есть основная форма frmMain и всплывающая форма frmPopup. Вы можете использовать следующий код, чтобы убедиться, что всплывающее окно всегда находится поверх главной формы без использования topmost (что работает, но может иметь некоторые побочные эффекты).

frmPopup.show(frmMain)

или вы можете использовать более длинную версию (как написано выше кем-то

frmPopup.Owner = frmMain
frmPopup.show()

Еще одна замечательная вещь - вы также можете использовать ее с ShowDialog ()

frmPopup.ShowDialog(frmMain)

Я знаю, что это старый пост, но, возможно, люди, которые все еще ищут простые решения, найдут это. Это действительно помогло улучшить функциональность моих программ с гораздо меньшим количеством кода, чем я использовал раньше.

0 голосов
/ 17 июня 2018

Попробуйте:

Me.ShowDialog()

должно помочь.

0 голосов
/ 04 ноября 2014

Нарисуйте видимую самую верхнюю форму за пределами экрана, а затем сделайте эту форму владельцем вызова ShowDialog ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...