小编Roy*_*yce的帖子

如何在VB.NET中激活,移动和调整窗口大小

我有一个窗口,我只知道我需要激活,调整大小并放置在屏幕左上角的标题(例如记事本).因此,经过对MSDN和论坛的一些研究,我发现了一些应该实现这一目标的功能.我使用FindWindow按标题获取句柄,然后我使用GetWindowPlacement来查看记事本是否被最小化(如果没有,那么我只使用AppActivate,只需要激活它,如果它没有最小化).如果窗口是最小化的,那么我尝试使用SetWindowPlacement激活,调整大小并在一个命令中移动它.这是我的代码:

<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Private Shared Function FindWindow( _
 ByVal lpClassName As String, _
 ByVal lpWindowName As String) As IntPtr
End Function
<DllImport("user32.dll")> _
Private Shared Function GetWindowPlacement(ByVal hWnd As IntPtr, ByRef lpwndpl As WINDOWPLACEMENT) As Boolean
End Function
<DllImport("user32.dll")> _
Private Shared Function SetWindowPlacement(ByVal hWnd As IntPtr, ByRef lpwndpl As WINDOWPLACEMENT) As Boolean
End Function

Private Structure RECT
    Public Left As Integer
    Public Top As Integer
    Public Right As Integer
    Public Bottom As Integer
    Public Sub New(ByVal X …
Run Code Online (Sandbox Code Playgroud)

vb.net winapi

5
推荐指数
1
解决办法
3800
查看次数

VB.NET如何使1个子项适用于多个项目?

我有一个冗长的上下文菜单,我想为这些项添加一些视觉效果(不,我不想创建一个新的渲染器),所以我只为其中一个列表项创建了一个MouseEnter和MouseLeave事件.现在我想将其扩展到所有上下文菜单项,而不为每个项目制作两个单独的事件......

这是我目前所拥有的一个简短例子:

Private Sub NewMenuItems_MouseEnter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NewMenuItem1.MouseEnter, NewMenuItem2.MouseEnter, etc.
    MenuItem.ForeColor = Color.Red
End Sub

Private Sub NewMenuItems_MouseLeave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NewMenuItem1.MouseLeave, NewMenuItem2.MouseLeave
    MenuItem.ForeColor = Color.Cyan
End Sub
Run Code Online (Sandbox Code Playgroud)

每个项目唯一不同的是".Forecolor"之前的内容.如何同时为所有项目进行此项工作?

vb.net vb6 contextmenu

2
推荐指数
1
解决办法
254
查看次数

标签 统计

vb.net ×2

contextmenu ×1

vb6 ×1

winapi ×1