中华网通行证
用户名 密码

用Vb.net实现自定义界面
中华网科技 http://tech.china.com 2005-07-04 13:33:36
进入BBS】【进入聊天室】【 推荐给朋友 】【浏览字号: 】【关闭窗口

  
  对于一个追求个性的时代来说,任何一个人都不希望在别人的身上发现有与自己的相同之处。作为计算机软件来说也是一样,每一个用户都希望自己使用的软件与别人不一样,于是诞生了换肤技术。用户可以根据自己的喜好来选择不同的界面,从而实现了个性化的设置。但是换肤技术有一个不足之处,那就是所有的皮肤都是由开发者预先提供的,而且数量有限。这就导致了有些用户使用的皮肤会和另一些用户使用的皮肤相同,从而违背了设计者的初衷。

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

  Private Sub MenuItem2_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)
  Handles MenuItem2.Click
  Button1.Enabled = False‘禁止控件响应事件
  If TextBox1.Enabled = False Then
  TextBox1.Enabled = True
  End If
  End Sub

  Private Sub MenuItem3_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)
  Handles MenuItem3.Click
  TextBox1.Enabled = False
  If Button1.Enabled = False Then
  Button1.Enabled = True
  End If
  End Sub

  Private Sub MenuItem4_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)
  Handles MenuItem4.Click
  TextBox1.Enabled = True
  Button1.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 = Button1.Top
  cstringl = Button1.Left
  tstringt = TextBox1.Top
  tstringl = TextBox1.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 = Button1.Top
  cstringl = Button1.Left
  tstringt = TextBox1.Top
  tstringl = TextBox1.Left
  sw.WriteLine(cstringt)
  sw.WriteLine(cstringl)
  sw.WriteLine(tstringt)
  sw.WriteLine(tstringl)
  sw.Close()
  End If
  MsgBox("当前界面已经保存")
  End Sub

  Private Sub Form1_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 input1, input2, input3, input4 As String
  input1 = sr.ReadLine
  input2 = sr.ReadLine
  input3 = sr.ReadLine
  input4 = sr.ReadLine‘读取文件中的坐标
  Button1.Top = input1
  Button1.Left = input2
  TextBox1.Top = input3
  TextBox1.Left = input4‘用文件中的值来初始化控件在界面中的位置
  sr.Close()
  End If
  End Sub

  程序说明:在MenuItem4_Click 是在调整控件之后将控件的新位置保存到c;k.txt文件中。form_load中的if作用是,如果是没有设置控件的新位置在初始化是将不会发现c;k.txt文件,从而使用默认的参数来指定控件的位置。如果是有c;k.txt文件存在就读取其中的参数来初始化控件的位置。在Form1_MouseUp中通过点击窗口中的位置来获得新的坐标,使控件移动到此坐标处。对于Enabled属性的使用是为了使控件在移动时不响应如click等的事件。


  本文移动的控件是textbox和button两个控件,你可以按照本文提出的方法加入更多的控件,从而实现千人千面。

  其实本人写这篇文章的一个主要目的是为了说明一个程序员不但要掌握牢固的技术,同时还要有创新的思想。正如国外的分析家指出"微软的成功在很大的程度上是依靠它的创新思维",所以希望读了此文的读者在以后的开发过程中不要墨守成规。

 

50款最具性价比数码相机/MP3推荐!
作者:vb社区 来源: 

发表言论:
笔  名:
查看评论
﹣相关报道
VB打造超酷个性化菜单(二) (2005-07-01 14:04:04)
VB打造超酷个性化菜单(一) (2005-06-30 14:01:01)
VB程序实现WindowsXP效果的界面!! (2005-06-27 14:03:26)
用VB6.0编写自我升级的程序(三) (2005-06-23 11:49:00)
用VB6.0编写自我升级的程序(二) (2005-06-22 11:53:08)
用VB6.0编写自我升级的程序(一) (2005-06-20 13:57:07)
初学者必知:VB10个小编程 (2005-05-30 16:19:35)

﹣精彩回顾
·揭秘越南姑娘的“性契约”(组图)
·中国研制成功银河麒麟操作系统
·近处偷拍野狮性爱 野草丛中见柔情(图)
·难得一见“水下分娩”全程跟拍(组图)
·古代性器具及性惩罚工具(组图)
·揭密中外历史上乱伦的名人们(组图)
·探秘世界各地诡异的干尸新娘(组图)
·隋唐两个王朝的九大著名"绿帽子"(组图)
·另类的惨烈:螳螂血战壁虎谁更凶猛(图)
·一分钟平静死去 注射死刑全过程(图)

进入BBS】【进入聊天室】【 推荐给朋友 】【浏览字号: 】【关闭窗口


潮流·时尚
·市场上的天价手机全搜罗
·一周降幅最大手机导购
·FM调频收音功能手机选购
·索尼爱立信三新机曝光
·诺基亚N73音乐版精品赏
·热门便携笔记本搜索导购
·近期最新上市机型大盘点
·矩阵Matrix鼠标垫细评测
·19寸20寸22寸液晶该买谁
·近期几款热卖MP3大推荐
·四大即将退市经典MP3选购
·06年最火七大DC缺点曝光
·六百万像素超值机型推荐
·诺基亚推出随身小音箱
·LG直板巧克力KG99评测
·MOTO新机即将国内上市
·超低价蓝牙手机导购
·130万像素一样拍出好照片
·诺基亚两款蓝牙耳机新品
·索爱纯美折叠机Z558评测

软件下载
·豪杰大眼睛 V2.5
·Foxmail V6.5
·天网防火墙Athena
·极品五笔 V6.8
·PPS网络电视
·超级兔子魔法设置
中华网搜索
站内搜索
全网搜索




热门搜索
耳机 印刷 手机 拖鞋
减速机 钟表 成人用品
减肥 枸杞 T恤 升降机
心理 健康 彩票 招聘
礼品 旅游 猎头 培训

产品服务
·机会!机会不容错过
·中华商机,搜索创新
·准确快捷,搜你所搜
·¥来¥往,尽在中华邮
·中华搜索,贴心搜索




科技频道主编信箱