vb.net枚举窗体 net 枚举

VB FindWindowExfindwindow 是按窗口vb.net枚举窗体的标题找vb.net枚举窗体的
vb.net枚举窗体你知道标题后 可以在findwindowex 函数中指定窗口的class
下面的代码
'Module1
Option Explicit
Public Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long
Public Declare Function EnumChildWindows Lib "user32" (ByVal hWndParent As Long, ByVal lpEnumFunc As Long, ByRef lParam As Long) As Long
Private Const MAX_PATH = 260
Public g_nWndCount As Long
Private Sub cmdEnumChild_Click()
Dim lParam As Long
lParam = 0
Call EnumChildWindows(GetKey(Me.lvDetail.SelectedItem.Key), AddressOf EnumChildWindowProc, lParam)
End Sub
Public Function EnumChildWindowProc(ByVal hwnd As Long, ByRef lParam As Long) As Long
Dim nSize As Long
Dim strTitle As String
Dim strClassName As String
lParam = 1
Call GetTitleClass(hwnd, strTitle, strClassName)
If InStr(1, LCase(strTitle), "command1")0 Then '按钮的的标题
MsgBox "找到vb.net枚举窗体了 句柄是:"hwnd
End If
EnumChildWindowProc = 1
End Function
Public Sub GetTitleClass(ByVal hwnd As Long, Title As String, ClassName As String)
Dim nSize As Long
Dim strTitle As String
Dim strClassName As String
nSize = GetWindowTextLength(hwnd)
If nSize0 Then
strTitle = Space(255)
Call GetWindowText(hwnd, strTitle, Len(strTitle))
strTitle = Trim(strTitle)
Else
strTitle = "No Title"
End If
strClassName = Space(255)
Call GetClassName(hwnd, strClassName, Len(strClassName))
strClassName = Trim(strClassName)
Title = strTitle
ClassName = strClassName
End Sub
Form1
Private Sub cmdEnumChild_Click()
Dim lParam As Long
lParam = 0
Call EnumChildWindows(hPwnd, AddressOf EnumChildWindowProc, lParam) '注意 hPwnd 是你的父窗口的句柄
End Sub
VB.NET两个窗体怎么同步显示或隐藏?1、没有事件是直接由最小化、还原触发的,它们都会触发SizeChanged事件 。所以你可以写主窗体的SizeChanged事件来控制副窗体显隐,顺便改变副窗体的相对位置;
2、在SizeChanged事件中,通过判断窗体的WindowState属性来确定用户是最小化还是还原了;(FormWindowState.Minimized和FormWindowState.Normal枚举)
3、调用副窗体的BringToFront方法可以把副窗体带到最前面来
vb.net实例化窗口后如何区分打开的窗口If App.PrevInstance = True Then
End
End If
如果程序正在运行,结束程序 。
在模块中加入每个窗口的标题变量 。
然后用if then 来判断是否有相同窗口 。
如果你事先不知道有哪些窗口的话,那你就用枚举 FindWindow来查找子窗口句柄 。再用SendMessage 获得窗口标题再进行判断 。
VB.NET的枚举求教解决方法这个功能实现起来其实也很简单,就是通过反射去读取 DescriptionAttribute 的 Description 属性的值,代码如下所示:
/// summary
/// 返回枚举项的描述信息 。
/// /summary
/// param name="value"要获取描述信息的枚举项 。/param
【vb.net枚举窗体 net 枚举】/// returns枚举想的描述信息 。/returns
public static string GetDescription(Enum value)
{
Type enumType = value.GetType();
// 获取枚举常数名称 。
string name = Enum.GetName(enumType, value);
if (name != null)
{
// 获取枚举字段 。
FieldInfo fieldInfo = enumType.GetField(name);
if (fieldInfo != null)
{
// 获取描述的属性 。
DescriptionAttribute attr = Attribute.GetCustomAttribute(fieldInfo,
typeof(DescriptionAttribute), false) as DescriptionAttribute;
if (attr != null)
{
return attr.Description;
}
}
}
return null;
}
这段代码还是很容易看懂的 , 这里取得枚举常数的名称使用的是 Enum.GetName() 而不是 ToString(),因为前者更快,而且对于不是枚举常数的值会返回 null,不用进行额外的反射 。
当然,这段代码仅是一个简单的示例,接下来会进行更详细的分析 。
VB.net如何枚举字符串?Enum Week
周日 = 0
周一 = 1
周二 = 2
周三 = 3
周四 = 4
周五 = 5
周六 = 6
End Enum
Sub Main()
Dim myType As Type = GetType(Week)
MsgBox(Week.GetName(myType, Week.周二))
End Sub
vb.net怎么枚举父窗口下所有子窗口Dim HanStr As String = ""
For Each Form In Me.MdiChildren
HanStr= Form.Handle.ToString
Next
MsgBox(HanStr)
关于vb.net枚举窗体和net 枚举的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读