【发布时间】:2013-12-07 06:06:53
【问题描述】:
所以我有以下具有 3 个按钮的应用程序。 1 允许我打开一个新窗口,我可以在其中将此窗口调整为我想要的大小,然后按按钮 2 以捕获该窗口大小的图片。我的问题是如何做到这一点,以便当我按下按钮 1 时它会显示 Form2 但随后 Form2 窗口将随鼠标移动,当我单击并拖动大小然后释放时,它会像这样在这里
这是它目前的样子,我必须手动调整窗口大小
Form1.vb
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Form2.Show()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim bounds As Rectangle
Dim screenshot As System.Drawing.Bitmap
Dim graph As Graphics
bounds = Screen.PrimaryScreen.Bounds
screenshot = New System.Drawing.Bitmap(Form2.Bounds.Width, Form2.Bounds.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb)
graph = Graphics.FromImage(screenshot)
graph.CopyFromScreen(Form2.Bounds.X, Form2.Bounds.Y, 0, 0, bounds.Size, CopyPixelOperation.SourceCopy)
PictureBox1.Image = screenshot
PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
End Sub
Form2.vb
Public Class Form2
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
End Class
【问题讨论】:
-
我不确定这样是否容易。看,如果你在#1 上面有表单#2,并且假设#1 是背景(黑色,不透明度 = 50%),并且#2 正在移动,你不能使表单#1 变暗,你只能让它变得更暗形成#2 的不透明度。那么你打算如何解决呢?
-
@Neolisk 嗯好吧,可以保留当前的解决方案,但是当您单击并拖动时,使表单窗口 form2 使用鼠标事件跟随指针?而不是手动调整大小?
-
您的意思是只有 1 个不透明度为 50% 的表单(反转选择)?所以你选择的区域会变暗,其余的都是正常的?
-
@Neolisk 是的,这就是我的意思
-
看看我的回答,希望它能让你走上正轨。