У меня есть первая форма, которая всегда отображается в пути:Как показать форму поверх других?
- максимизируется и как содержание в PrintScreen из atual экрана
- всегда на вершине
- без границ
и теперь я хочу покажите вторую форму сверху этой первой формы, но я не добился успеха до этого момента, другими словами, эта вторая форма не отображается сверху. Так как я могу это сделать? Все предложения здесь приветствуются.
Вот как я делаю для показа первой формы:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
For Each s As Screen In Screen.AllScreens
Dim Locker As New Form2(s, 0.3)
Locker.Show()
Next
End Sub
End Class
======================= ==================================================
Public Class Form2
Public Sub New(ByVal scrn As Screen, ByVal FrmOpacity As Double)
InitializeComponent()
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
Me.StartPosition = FormStartPosition.Manual
Me.Bounds = scrn.Bounds
Me.TopMost = True
Me.Opacity = FrmOpacity
Me.ShowInTaskbar = False
Me.BackgroundImageLayout = ImageLayout.None
CaptureScreen(scrn)
End Sub
Private Sub CaptureScreen(ByVal s As Screen)
Using ScreenImg As New Bitmap(s.Bounds.Width, s.Bounds.Height)
Using g As Graphics = Graphics.FromImage(ScreenImg)
g.CopyFromScreen(s.Bounds.Location, Point.Empty, ScreenImg.Size, CopyPixelOperation.SourceCopy)
End Using
Me.BackgroundImage = New Bitmap(ScreenImg)
End Using
End Sub
End Class
Почему не задано Form1 «TopMost = False», когда вы показываете Form2? – paulsm4
Проверьте [шаблон MDI] (https://msdn.microsoft.com/en-us/library/xyhh2e7e (v = vs.110) .aspx). – Eminem