重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

vb.netempty的简单介绍

vb.net,一文件夹下存在若干子文件夹,如何判断哪些子文件夹为空(子文

'通过过System.IO.DirectoryInfo对象可以查阅目录信息,下面是遍历一个文件夹下所有层次的子文件夹,如果只检查下一层目录就更简单了。

创新互联公司专注于企业营销型网站建设、网站重做改版、安福网站定制设计、自适应品牌网站建设、H5建站商城系统网站开发、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为安福等各大城市提供网站开发制作服务。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim folder = New System.IO.DirectoryInfo("D:\Documents")

Dim items = getemptyfolder(folder)

For Each item In items

Console.WriteLine(item.FullName)

Next

End Sub

Function getemptyfolder(ByVal folder As System.IO.DirectoryInfo) As System.IO.DirectoryInfo()

Dim items As New List(Of System.IO.DirectoryInfo)

If folder.EnumerateFiles().Count = 0 Then

items.Add(folder)

End If

Dim subfolders = folder.EnumerateDirectories()

For Each subfolder In subfolders

items.AddRange(getemptyfolder(subfolder)) '查询树形目录结构类型数据用递归法实现

Next

Return items.ToArray()

End Function

'还是学c#语言吧,我发觉同样一个数组,c#功能多的多,vb.net没几条方法可用。

简单介绍一下vb.net中 IsNothing,IsDbNUll和IsNullOrEmpty 分别有什么用,和区别

isnothing : 检测变量值是否为nothing。nothing表示任意数据类型的默认值,如果变量是引用类型,则值 Nothing 意味着该变量不与任何对象相关联。

isdbnull:说明对象的数据丢失或不存在,用于指示缺少的值。它不等效于 nullNothing 或empty

null :一般用于数据库中。数据库中的字段可能需要区分已赋予一个有意义的值与尚未赋值这两种情况, 尚未赋值将用 null 值表示。

另外可以为 null 的类型的最重要成员是它有 HasValue 和 Value 属性。 HasValue 为 FALSE时

value为 null

empty: 表示尚未实例化的变量的值,string.empty是空字符串“”,

IsNullOrEmpty:判断是否为null或者empty.

VB.NET怎么可以限制窗体不能被鼠标随便拖动位置

很简单,通过WindowsAPI,删除窗体菜单项就行了

首先在窗体类中声明API:

Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As IntPtr, ByVal bRevert As Boolean) As IntPtr

Declare Function RemoveMenu Lib "user32" (ByVal lngHmenu As IntPtr, ByVal nPosition As Integer, ByVal wFlags As Integer) As Integer

其次声明API参数常量:

Const MF_BYPOSITION As Integer = H400

然后在窗体类中写入过程:

Private Sub UserForm_Initialize_stopmove() '禁止窗体移动

  Dim lngHwnd As IntPtr

  Dim lngHmenu As IntPtr

  lngHwnd = Me.Handle

  If lngHwnd 0 Then

      lngHmenu = GetSystemMenu(lngHwnd, False)

      RemoveMenu(lngHmenu, 0, MF_BYPOSITION) '这里的0代表菜单中从上往下数第一个菜单项

  End If

End Sub

Private Sub UserForm_Initialize_onmove() '恢复窗体移动

  Dim lngHwnd As IntPtr

  Dim lngHmenu As IntPtr

  lngHwnd = Me.Handle

  If lngHwnd 0 Then

      lngHmenu = GetSystemMenu(lngHwnd, True)

RemoveMenu(lngHmenu, 0, MF_BYPOSITION) '这里的0与禁止代码中的数值同步,原因时虽然表面上删除了菜单项,实则为隐藏了菜单项,各个菜单的索引值并没有变,所以0依然代表初始菜单的第一个菜单项,即被删除的那个菜单项

  End If

End Sub

然后如果你的窗口菜单是动态变化的,建议声明常数:

Const MF_BYPOSITION As Integer = H0

然后使用相关的Windows功能的常数进行删除菜单。常数需要自行查看winuser.h头文件

如果找不到该头文件,可以看这里:网页链接

其余信息详见MSDN:网页链接

最后说一下,不建议前面网友说的重写WndProc的方法,因为这样拦截标题栏点击消息会导致窗体本身的菜单也无法显示出来,有损窗体功能,并且像双击左上角图标关闭窗体这样的功能也会跟着拦截消息的操作一起被吞掉。

用vb.net如何 编程遍历页面上所有TextBox控件并给它赋值为string.Empty?

For Each ctl As Control In Me.Controls If TryCast(ctl, TextBox) Nothing Then Dim txt As TextBox = TryCast(ctl, TextBox) txt.Text = "" End If


网站名称:vb.netempty的简单介绍
链接地址:http://cqcxhl.com/article/dosisdc.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP