vbnet自定义控件 vbnet自定义控件让窗体先运行再加载

vb点虐 自定义控件编程

我告诉你思路:

创新互联公司成立与2013年,是专业互联网技术服务公司,拥有项目成都网站建设、成都做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元绵阳做网站,已为上家服务,为绵阳各地企业和个人服务,联系电话:13518219792

1,首先添加定时器,用来循环检查鼠标的位置

2,Control.MousePosition.X 可以获取当前鼠标在当前运行窗体中的相对位置

Control.MousePosition.Y

3,定时器内触发当鼠标位置在TEXTBOX1 和BUTTON1上的事件

用Vb点虐 实现自定义界面

 个人都不希望在别人的身上发现有与自己的相同之处 作为计算机软件来说也是一样 每一个用户都希望自己使用的软件与别人不一样 于是诞生了换肤技术 用户可以根据自己的喜好来选择不同的界面 从而实现了个性化的设置 但是换肤技术有一个不足之处 那就是所有的皮肤都是由开发者预先提供的 而且数量有限 这就导致了有些用户使用的皮肤会和另一些用户使用的皮肤相同 从而违背了设计者的初衷 虽然有些读者会说 开发商现在提供了下载服务 可以从它们的网站下载更多的皮肤供用户选择 可是从我的使用中发现这些皮肤依然是有限的 而且对于没有条件上网的用户来说这种服务是毫无价值

作为一个软件开发人员 当一种技术已经无法满足用户的需要的时候就该开动脑筋 想想是否可以从另一种角度来思考问题的答案 在这个前提下 通过本人的思考终于想出了一个新的方法 我将它称为交互界面 使用这种技术可以保证在全球范围内不会出现相同的界面结构 从而完全实现个性化 其实要实现这种界面在技术方式上并没有太高的要求 实现原理就是 让用户自己调整每一个控件的位置然后保存这些控件在界面上的坐标位置 在以后启动这个程序的界面时读取这些值 用这些值来设置控件在界面中的位置 下面的代码就是为实现这个功能而设计的(用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

vb点虐 自定义控件

mytest1是继承自什么类,通常应该继承自UerControl,虽然你这样也能编译通过,但实际上没有任何意义。所以你先改了再说。继承之后,编译,工具箱就会多这么个控件,拖动到Form1上,这样按钮下就不用再new了。然后你再来问。


分享文章:vbnet自定义控件 vbnet自定义控件让窗体先运行再加载
文章网址:http://scjbc.cn/article/ddjscod.html

其他资讯