VB.NET窗体操作技巧两则

2016-01-29 12:05 88 1 收藏

VB.NET窗体操作技巧两则,VB.NET窗体操作技巧两则

【 tulaoshi.com - vb 】

  这个功能在VB6中,需要借助于API函数才能实现。而在VB.NET中,凭自己的功能就能实现。首先设置窗体的FormBorderStyle属性为none以去掉窗体的边框,然后在窗体上添加一个按钮。窗体中的代码如下:

Public Class Form1
 Inherits System.Windows.Forms.Form

 Private mouse_offset As Point
 Private Sub form1_MouseDown(ByVal sender As Object, ByVal e As  System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
  mouse_offset = New Point(e.X, e.Y)
 End Sub

Private Sub form1_MouseMove(ByVal Sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
 按住鼠标左右键均可拖动窗体
 If e.Button = MouseButtons.Left Or e.Button = MouseButtons.Right Then
  Dim mousePos As Point = Sender.findform().MousePosition
  获得鼠标偏移量
  mousePos.Offset(-mouse_offset.X, -mouse_offset.Y)
  设置窗体随鼠标一起移动
  Sender.findform().Location = mousePos
 End If
End Sub

Private Sub BtnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 关闭窗体
 Me.Close()
End Sub
End Class
   二、多个窗体之间互相调用

  在VB6中,多个窗体之间可以很方便地互相调用,如:在Form1中,只需要用一条“Form2.Show” 语句就能显示窗体Form2。然而在VB.NET中窗体处理机制发生了很大的变化:在访问窗体之前,你必须进行窗体实例化;如果在项目中有多处代码访问同一窗体,则你必须把它的同一实例指针传递给这些代码,否则新创建的窗体实例就不再是原先的窗体了。

  下面的代码实现窗体Form1和Form2之间互相调用,Form1为主窗体。Form1上的按钮BtnShowFrm2的标题为“显示Form2”,Form2上的按钮BtnShowFrm1的标题为“显示Form1”。

  1、Form1中的代码:

Public Class Form1
Inherits System.Windows.Forms.Form
创建Form2的一个新的实例
Dim Frm2 As New Form2()

Public Function Instance2(ByVal frm As Form2)
Frm2 = frm
End Function

Private Sub BtnShowFrm2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnShowFrm2.Click
以下语句保证在Form2以及其他窗体中访问Form1时,
都将得到Form1的同一个窗体实例。
Frm2.Instance(Me)
Frm2.Show()
Me.Hide()
End Sub

End Class
  2、Form2中的代码:

Public Class Form2
 Inherits System.Windows.Forms.Form
 Dim frm1 As Form1
 借助一个新增的Instance属性来生成窗体frm1的实例
 Public Function Instance(ByVal frm As Form1)
  frm1 = frm
 End Function

 Private Sub BtnShowFrm1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)    Handles BtnShowFrm1.Click
  Me.Hide()
  frm1.Show()
 End Sub

 Private Sub Form2_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles  MyBase.Closed
  如果Form2被关闭,则设置Form1的按钮BtnShowFrm2不可用。
  frm1.BtnShowFrm2.Enabled = False
  frm1.Show()
 End Sub
End Class
  以上代码全部在Windows XP,VB.NET下调试通过。

  点击下载本文源代码

来源:http://www.tulaoshi.com/n/20160129/1484565.html

延伸阅读
空字段的处理 在往SQLServer数据库中添加记录时,每个字段必须给予明确赋值(即在没有给数据表设定缺省规则或给每个字段设定缺省值的情况下),否则便发生错误。因此我用VB编写了一个处理函数,将其放入标准模块,以供相应程序调用。函数首先判断是否给字段赋值,若没有,则根据字段类型的不同赋予不同数值(数字赋零,字符赋空格)。...
标签: Web开发
前面已经介绍了关于Dreamweaver MX 2004的基本操作方法,灵活运用这些方法就可以组建出一个精美的网站了。完成了这些操作之后,我们在网上安家的历程可以说已经走了一大半,剩下的就是将网页上传到站点以及页面的后期维护更新操作了。其实这些任务并不复杂,只要我们通过Dreamweaver MX 2004内置的站点管理功能就可以很轻松地实现! ...
标签: 电脑入门
现在的即时聊天软件的附加功能是越来越多,做为其中翘楚的QQ当然也不例外。笔者偶然间发现了几个非常实用有趣的技巧,在此写出来于大家一起分享。 个性化的邮箱名 大家都知道QQ提供了QQ邮箱,点击QQ面板中的信封图标就可以收发邮件(如果你没有开通赶快去开通噢)。不过初始的邮箱名都是QQ号码@qq.com。比如你的QQ号码是177277...
Office 2010设置技巧两则 一、Office 2010中页面显示比例的设置 在一番深入研究后笔者发现,在Office 2010的的一些组件(例如Word、Excel、PowerPoint等)窗口中是可以设置页面显示比例的,用来调整Office各组件可视化的大小,以照顾各种眼神儿的用户。当然,显示比例调整的效果仅仅适用于文档的显示大小,并不会影响实际的...
标签: 电脑入门
Word 2007最新技巧两则 技巧一 文档内容轻松比较 文档修订了多遍,修订前和修订后的内容很难区分,怎么办?Office Word2007的比较文档功能大大增强,体验一下吧!首先单击功能区中的审阅标签,然后单击比较选项组中的比较按钮,选择下拉菜单中的 比较命令(见图)。接下来选择所要比较的原文档和修订的文档,修订的具体内容就展现在眼前了。...

经验教程

430

收藏

48
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部