
正文
vb.net窗体界面开发 vbmdi窗体
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
用VB.NET轻松制作特效窗体
体是Windows应用程序的基础 新一代的开发工具Visual Basic Net为设计制作窗体提供了更多简单而丰富的方法 无需再求助于复杂而易错的API函数 vb.net窗体界面开发我们就可以轻松制作多种特效窗体 轻松制作透明窗体VB NET可以轻松制作出任一透明度的窗体 vb.net窗体界面开发我们只要在窗体的 属性 窗口中 将 Opacity 属性设置为一个介于 (完全透明)与 (完全不透明)之间的值就可以了 Dim frm As FrmTrans = New FrmTrans()frm Opacity = frm ShowDialog() 轻松制作始终位于最上层的窗体在VB 中 要制作一个始终位于最上层的窗体vb.net窗体界面开发我们只能求助于令人头痛的API函数 然而在 NET 中 我们只要简单设置窗体的 TopMost 属性就可实现同样效果了vb.net窗体界面开发!例如 Dim frm As frmTopMost = New frmTopMost()frm TopMost = Truefrm Show() 轻松制作不可见的窗体如果要编写一个不让别人发现的隐藏程序 制作不可见的窗体就是必须实现的第一步 窗体的可见性通常由 Visible 属性控制 但是 如果希望 Windows 应用程序的主窗体在应用程序启动时不可见 您将会发现将它的 Visible 属性设置为 False 的方法无效 窗体总会自己显示出来(这是因为 启动窗体的生存期决定了应用程序的生存期) 虽然如此 我们还是可以通过简单将应用程序的启动设置为一个模块 从而从窗体的生存期分出应用程序的生存期 轻松实现不可见的窗体 在下面这个例子中 窗体在特定的时间内自动隐藏 ( )在 Visual Basic 中 右击项目并选择 添加模块 以将模块添加到 Windows 应用程序 ( )在已添加的模块(或类)内 创建可作为项目启动对象的 Main 函数 Sub main()Dim f As New Form ()f Visible = FalseWhile Hour(Date Now) 如果当前时间早于 点 窗体自动隐藏Application DoEvents()End Whilef ShowDialog()End Sub 轻松编写托盘程序托盘程序作为一类特殊的窗体 其快捷图标显示在系统托盘中 窗体本身则隐藏不可见 在 NET之前版本的VB中编写托盘程序是十分困难的 但是VB NET提供的新的NotifyIcon组件却使VB初学者也能轻松编写一个这样的程序 新建 Windows应用程序 设置主窗体Opacity属性为 FormBorderStyle属性为None ShowInTaskbar属性为False 这样窗体将在启动后隐藏 在窗体上放置一个NotifyIcon组件NotifyIcon 一个ContextMenu(弹出菜单)组件ContextMenu 并根据需要为ContextMenu 添加菜单项 设置NotifyIcon 的ICON属性 这个图标就是应用程序出现在系统托盘中的快捷图标 设置NotifyIcon 的Text属性为 VB NET托盘程序 这就是鼠标移动到托盘图标时弹出的文字说明 设置NotifyIcon 的ContextMenu属性为ContextMenu 也就是右键单击快捷图标时的弹出菜单为ContextMenu OK 按F 运行vb.net窗体界面开发!几乎不用编写代码 一个托盘程序就这样轻松实现了 lishixinzhi/Article/program/net/201311/13831
相关问答
Q1: 用Vb.net实现自定义界面
个人都不希望在别人的身上发现有与自己的相同之处 作为计算机软件来说也是一样 每一个用户都希望自己使用的软件与别人不一样 于是诞生了换肤技术 用户可以根据自己的喜好来选择不同的界面 从而实现了个性化的设置 但是换肤技术有一个不足之处 那就是所有的皮肤都是由开发者预先提供的 而且数量有限 这就导致了有些用户使用的皮肤会和另一些用户使用的皮肤相同 从而违背了设计者的初衷 虽然有些读者会说 开发商现在提供了下载服务 可以从它们的网站下载更多的皮肤供用户选择 可是从我的使用中发现这些皮肤依然是有限的 而且对于没有条件上网的用户来说这种服务是毫无价值
作为一个软件开发人员 当一种技术已经无法满足用户的需要的时候就该开动脑筋 想想是否可以从另一种角度来思考问题的答案 在这个前提下 通过本人的思考终于想出了一个新的方法 我将它称为交互界面 使用这种技术可以保证在全球范围内不会出现相同的界面结构 从而完全实现个性化 其实要实现这种界面在技术方式上并没有太高的要求 实现原理就是 让用户自己调整每一个控件的位置然后保存这些控件在界面上的坐标位置 在以后启动这个程序的界面时读取这些值 用这些值来设置控件在界面中的位置 下面的代码就是为实现这个功能而设计的(用vb net编写)
Private Sub Form _MouseUp(ByVal sender As Object ByVal e As System Windows Forms MouseEventArgs) Handles MyBase MouseUp Dim x y x = e X y = e Y 获得新的x y的坐标 If Button Enabled = False Then Button Top = y Button Left = x 坐标替换 End If If TextBox Enabled = False Then TextBox Top = y TextBox Left = x End If End Sub Private Sub MenuItem _Click(ByVal sender As System Object ByVal e As System EventArgs) Handles MenuItem Click Button Enabled = False 禁止控件响应事件 If TextBox Enabled = False Then TextBox Enabled = True End If End Sub Private Sub MenuItem _Click(ByVal sender As System Object ByVal e As System EventArgs) Handles MenuItem Click TextBox Enabled = False If Button Enabled = False Then Button Enabled = True End If End Sub Private Sub MenuItem _Click(ByVal sender As System Object ByVal e As System EventArgs) Handles MenuItem Click TextBox Enabled = True Button Enabled = True 将新的坐标保存到文本文件中 If IO File Exists( c:\k txt ) = True Then IO File Delete( c:\txt ) Dim sw As IO StreamWriter = IO File CreateText( c:\k txt ) Dim cstringt cstringl As String Dim tstringt tstringl As String cstringt = Button Top cstringl = Button Left tstringt = TextBox Top tstringl = TextBox Left sw WriteLine(cstringt) 写入新坐标到文本文件中 sw WriteLine(cstringl) sw WriteLine(tstringt) sw WriteLine(tstringl) sw Close() Else Dim sw As IO StreamWriter = IO File CreateText( c:\k txt ) Dim cstringt cstringl As String Dim tstringt tstringl As String cstringt = Button Top cstringl = Button Left tstringt = TextBox Top tstringl = TextBox Left sw WriteLine(cstringt) sw WriteLine(cstringl) sw WriteLine(tstringt) sw WriteLine(tstringl) sw Close() End If MsgBox( 当前界面已经保存 ) End Sub Private Sub Form _Load(ByVal sender As Object ByVal e As System EventArgs) Handles MyBase Load
If IO File Exists( c:\k txt ) = True Then Dim sr As IO StreamReader = IO File OpenText( c:\k txt ) Dim input input input input As String input = sr ReadLine input = sr ReadLine input = sr ReadLine input = sr ReadLine 读取文件中的坐标 Button Top = input Button Left = input TextBox Top = input TextBox Left = input 用文件中的值来初始化控件在界面中的位置 sr Close() End If End Sub
程序说明 在MenuItem _Click 是在调整控件之后将控件的新位置保存到c;\k txt文件中 form_load中的if作用是 如果是没有设置控件的新位置在初始化是将不会发现c;\k txt文件 从而使用默认的参数来指定控件的位置 如果是有c;\k txt文件存在就读取其中的参数来初始化控件的位置 在Form _MouseUp中通过点击窗口中的位置来获得新的坐标 使控件移动到此坐标处 对于Enabled属性的使用是为了使控件在移动时不响应如click等的事件
本文移动的控件是textbox和button两个控件 你可以按照本文提出的方法加入更多的控件 从而实现千人千面
lishixinzhi/Article/program/net/201311/15298
Q2: 如何创建vb.net窗体
dim 一个窗体 as new form
with 一个窗体
.location=...
.size=...'这里是设置窗体的位置等属性
end with
一个窗体.show
Q3: vb.net里关于web窗体布局
1、选中控件 布局-位置-(绝对、相对、静态)
2、布局-位置-自动定位-HTML设计器-CSS定位-右边第一项打挑选择-(绝对、相对、静态)
Q4: 用VB.NET设计各种形状的窗体界面二
结合上一节介绍vb.net窗体界面开发的方法 通过Visual Basic Netvb.net窗体界面开发的菜单设计器 按照图 和图 所示的菜单结构设计菜单 图 【MDI编程】项目的菜单结构之一 图 【MDI编程】项目的菜单结构之二 在利用菜单设计器设计完菜单后 分别在窗体中双击 新建 退出 层叠显示 横行平铺 纵向平铺 和 排列图标 菜单项 这样Visual Basic Net会在Form vb文件中分别产生这些菜单项的Click事件对应的处理代码 设定Form 的 IsMdiContainer 属性值为 True 这把Form 窗体定义为MDI窗体容器 这一步设置是后面编程的基础 当设置此属性值后 Form 的窗体也发生vb.net窗体界面开发了改变 图 是设置此属性后的窗体模样 图 把Form 窗体设置为MDI窗体容器后的模样 选中图 中的 窗口 菜单项 并设置此菜单项的 MdiList 属性值为 True 其作用是当程序运行后 如果新建了一个MDI窗体 就会在 窗口 菜单项后 自动加入一个以新建MDI窗体名称命名的菜单项 如果新建了多个MDI窗体 则会在 窗口 菜单项后 会加入以这些MDI窗体名称命名的菜单项 当MDI窗体被关闭 那些以此MDI窗体命名的菜单项也会自动删除 具体可图 所示 把Visua Basic Net的当前窗口切换到Form vb的代码编辑窗口 并在定义Form 中组件的代码区加入下列代码 下列代码是定义一个变量 此变量用以统计程序中新建MDI窗体的数量 Private iFormCount As Integer = 用下列代码替换Form vb中的MenuItem 的Click事件对应的处理代码 MenuItem 即为图 中的 新建 菜单项 下列代码的作用是在新建一个MDI窗体 Private Sub MenuItem _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles MenuItem ClickDim frmTemp As Form = New Form ( ) 新建一个窗体frmTemp MdiParent = Me 为当前创建的窗体设置MDI父窗体frmTemp Text = MDI窗体 + iFormCount ToString ( )iFormCount = iFormCount + frmTemp Show ( ) 把此MDI窗体显示出来End Sub 用下列代码替换Form vb中的MenuItem 的Click事件对应的处理代码 MenuItem 即为图 中的 退出 菜单项 下列代码的作用是退出应用程序 Private Sub MenuItem _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles MenuItem ClickApplication Exit ( ) 退出应用程序End Sub 用下列代码替换Form vb中的MenuItem 的Click事件对应的处理代码 MenuItem 即为图 中的 层叠显示 菜单项 下列代码的作用是层叠排列窗体中的所有MDI窗体 Private Sub MenuItem _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles MenuItem ClickMe LayoutMdi ( MdiLayout Cascade ) 层叠排列窗体中的所有MDI窗体End Sub 用下列代码替换Form vb中的MenuItem 的Click事件对应的处理代码 MenuItem 即为图 中的 水平平铺 菜单项 下列代码的作用是水平平铺窗体中的所有MDI窗体 Private Sub MenuItem _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles MenuItem ClickMe LayoutMdi ( MdiLayout TileHorizontal ) 水平平铺窗体中的所有MDI窗体End Sub 用下列代码替换Form vb中的MenuItem 的Click事件对应的处理代码 MenuItem 即为图 中的 垂直平铺 菜单项 下列代码的作用是垂直平铺窗体中的所有MDI窗体 Private Sub MenuItem _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles MenuItem ClickMe LayoutMdi ( MdiLayout TileVertical ) 垂直平铺窗体中的所有MDI窗体End Sub 用下列代码替换Form vb中的MenuItem 的Click事件对应的处理代码 MenuItem 即为图 中的 排列图标 菜单项 下列代码的作用是窗体中的所有MDI窗体排列图标 Private Sub MenuItem _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles MenuItem ClickMe LayoutMdi ( MdiLayout ArrangeIcons ) 窗体中的所有MDI窗体排列图标End Sub至此【MDI编程】项目的全部工作就完成了 图 图 和图 是程序运行后的界面 图 【MDI编程】运行界面之一 图 【MDI编程】运行界面之二 图 【MDI编程】运行界面之三 此时vb.net窗体界面开发我们注意到图 所示的 窗口 菜单中增加许多子菜单 而在程序设计时 并没有处理这些功能的代码 这是由于第十一步中设置 窗口 菜单项的 MdiList 属性值为 True 造成的 可见正确的设置组件的属性值有时的确能够代替烦杂的代码编写工作 五 总结 本文主要内容有二个 其一是介绍的在Visual Basic Net定制不规则窗体的实现方法 在Visual Basic Net中创建不规则窗体主要使用的是Region类和GraphicsPath类 GraphicsPath主要是绘制窗体的形状 Region主要是以GraphicsPath来构建窗体 结合本文的实现思路和具体方法 我想对于其vb.net窗体界面开发他形状的窗体 在掌握GraphicsPath类提供的使用方法的前提下 加上对所要创建不规则窗体的规划设计 用Visual Basic Net实现起来应该不算很困难 本文的另外一个主要内容就是介绍在Visual Basic Net编写MDI应用程序的基本过程 技巧和注意事项 通过本文的介绍可见Visual Basic Net的MDI编程并没有什么复杂的地方 只需了解一些对MDI窗体处理的方法及其调用方式 当然更重要的是要了解并掌握某些组件的针对MDI的属性及其设置方式 lishixinzhi/Article/program/net/201311/11698
Q5: vb.net中怎么可以让窗体全屏显示?
Me.Height = My.Computer.Screen.Bounds.Height
Me.Width = My.Computer.Screen.Bounds.Width
这是设置窗体的长宽和屏幕的分辨率一样大小vb.net窗体界面开发,相当于全屏。
如果Me.WindowState=FormWindowState.Maximized的话,只是单纯的将窗体最大化,但恢复窗口大小后窗体的大小实际上还和原来一样大。
VB.NET的特点
1.真正成为面向对象以及支持继承性的语言。
2.窗体设计器支持可视化继承,并且包含了许多新的特性,比如自动改变窗体大小、资源本地化支持、数据类工具内在支持XML数据。
3.直接建立在.NET的框架结构上,因此开发人员可以充分利用所有.NET平台特性,也可以与其vb.net窗体界面开发他的.NET语言交互。
4.为Windows应用程序提供了XCOPY部署,开发者不再需要为DLL的版本问题担忧。
关于vb.net窗体界面开发和vbmdi窗体的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








