成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

深入討論VB.NET設置控件

開發 后端
這里介紹VB.NET設置控件,用戶可以根據自己的喜好來選擇不同的界面,從而實現了個性化的設置。但是換膚技術有一個不足之處,那就是所有的皮膚都是由開發者預先提供的,而且數量有限。

VB.NET經過長時間的發展,很多用戶都很了解VB.NET設置控件了,這里我發表一下個人理解,和大家討論討論。個人都不希望在別人的身上發現有與自己的相同之處。作為計算機軟件來說也是一樣,每一個用戶都希望自己使用的軟件與別人不一樣,于是誕生了換膚技術。用戶可以根據自己的喜好來選擇不同的界面,從而實現了個性化的設置。但是換膚技術有一個不足之處,那就是所有的皮膚都是由開發者預先提供的,而且數量有限。這就導致了有些用戶使用的皮膚會和另一些用戶使用的皮膚相同,從而違背了設計者的初衷。雖然有些讀者會說,開發商現在提供了下載服務,可以從它們的網站下載更多的皮膚供用戶選擇,可是從我的使用中發現這些皮膚依然是有限的,而且對于沒有條件上網的用戶來說這種服務是毫無價值。

作為一個軟件開發人員,當一種技術已經無法滿足用戶的需要的時候就該開動腦筋,想想是否可以從另一種角度來思考問題的答案。在這個前提下,通過本人的思考終于想出了一個新的方法,我將它稱為--交互界面。使用這種技術可以保證在全球范圍內不會出現相同的界面結構,從而完全實現個性化。

其實要實現這種界面在技術方式上并沒有太高的要求。實現原理就是:讓用戶自己調整每一個控件的位置然后保存這些控件在界面上的坐標位置。在以后啟動這個程序的界面時讀取這些值,用這些值來VB.NET設置控件在界面中的位置。下面的代碼就是為實現這個功能而設計的(用VB.NET編寫)

  1. Private Sub Form1_MouseUp(ByVal sender As Object,  
  2. ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseUp  
  3. Dim x, y  
  4. x = e.X  
  5. y = e.Y'獲得新的x,y的坐標  
  6. If Button1.Enabled = False Then  
  7. Button1.Top = y 
  8. Button1.Left = x'坐標替換  
  9. End If  
  10. If TextBox1.Enabled = False Then  
  11. TextBox1.Top = y 
  12. TextBox1.Left = x  
  13. End If  
  14. End Sub  
  15. Private Sub MenuItem2_Click(ByVal sender As System.Object,
    ByVal e As System.EventArgs) Handles MenuItem2.Click  
  16. Button1.Enabled = False'禁止控件響應事件  
  17. If TextBox1.Enabled = False Then  
  18. TextBox1.Enabled = True 
  19. End If  
  20. End Sub  
  21. Private Sub MenuItem3_Click(ByVal sender As System.Object,  
  22. ByVal e As System.EventArgs) Handles MenuItem3.Click  
  23. TextBox1.Enabled = False 
  24. If Button1.Enabled = False Then  
  25. Button1.Enabled = True 
  26. End If  
  27. End Sub  
  28. Private Sub MenuItem4_Click(ByVal sender As System.Object,
    ByVal e As System.EventArgs) Handles MenuItem4.Click  
  29. TextBox1.Enabled = True 
  30. Button1.Enabled = True 
  31. '將新的坐標保存到文本文件中  
  32. If IO.File.Exists("c:\k.txt") = True Then  
  33. IO.File.Delete("c:\txt")  
  34. Dim sw As IOIO.StreamWriter = IO.File.CreateText("c:\k.txt")  
  35. Dim cstringt, cstringl As String  
  36. Dim tstringt, tstringl As String  
  37. cstringt = Button1.Top  
  38. cstringl = Button1.Left  
  39. tstringt = TextBox1.Top  
  40. tstringl = TextBox1.Left  
  41. sw.WriteLine(cstringt)'寫入新坐標到文本文件中  
  42. sw.WriteLine(cstringl)  
  43. sw.WriteLine(tstringt)  
  44. sw.WriteLine(tstringl)  
  45. sw.Close()  
  46. Else  
  47. Dim sw As IOIO.StreamWriter = IO.File.CreateText("c:\k.txt")  
  48. Dim cstringt, cstringl As String  
  49. Dim tstringt, tstringl As String  
  50. cstringt = Button1.Top  
  51. cstringl = Button1.Left  
  52. tstringt = TextBox1.Top  
  53. tstringl = TextBox1.Left  
  54. sw.WriteLine(cstringt)  
  55. sw.WriteLine(cstringl)  
  56. sw.WriteLine(tstringt)  
  57. sw.WriteLine(tstringl)  
  58. sw.Close()  
  59. End If  
  60. MsgBox("當前界面已經保存")  
  61. End Sub  
  62. Private Sub Form1_Load(ByVal sender As Object,  
  63. ByVal e As System.EventArgs) Handles MyBase.Load  
  64.  
  65. If IO.File.Exists("c:\k.txt") = True Then  
  66. Dim sr As IOIO.StreamReader = IO.File.OpenText("c:\k.txt")  
  67. Dim input1, input2, input3, input4 As String  
  68. input1 = sr.ReadLine  
  69. input2 = sr.ReadLine  
  70. input3 = sr.ReadLine  
  71. input4 = sr.ReadLine'讀取文件中的坐標  
  72. Button1.Top = input1 
  73. Button1.Left = input2 
  74. TextBox1.Top = input3 
  75. TextBox1.Left = input4'用文件中的值來初始化控件在界面中的位置  
  76. sr.Close()  
  77. End If  
  78. End Sub 

程序說明:在MenuItem4_Click 是在調整控件之后將控件的新位置保存到c;\k.txt文件中。form_load中的if作用是,如果是沒有VB.NET設置控件的新位置在初始化是將不會發現c;\k.txt文件,從而使用默認的參數來指定控件的位置。如果是有c;\k.txt文件存在就讀取其中的參數來初始化控件的位置。在Form1_MouseUp中通過點擊窗口中的位置來獲得新的坐標,使控件移動到此坐標處。對于Enabled屬性的使用是為了使控件在移動時不響應如click等的事件。

本文移動的控件是textbox和button兩個控件,你可以按照本文提出的方法加入更多的控件,從而實現千人千面。

其實本人寫這篇文章的一個主要目的是為了說明一個程序員不但要掌握牢固的技術,同時還要有創新的思想。正如國外的分析家指出"微軟的成功在很大的程度上是依靠它的創新思維",所以希望讀了此文的讀者在以后的開發過程中不要墨守成規!

【編輯推薦】

  1. 代碼講述VB.NET實現數據綁定
  2. VB.NET TextBox組件高手經驗談
  3. 瞬間掌握VB.NET Web Service
  4. 實例分析VB.NET Treeview結構
  5. 百寶箱之VB.NET設計制作窗體
責任編輯:佚名 來源: IT168
相關推薦

2010-01-12 15:21:48

VB.NET權限控制

2009-10-20 10:29:30

VB.NET使用Sor

2009-10-26 15:26:37

VB.NET屬性

2010-01-13 10:53:24

VB.NET控件

2009-10-23 13:14:38

2009-10-14 10:19:57

VB.NET Doma

2009-10-20 10:16:24

VB.NET COMB

2009-10-14 16:04:43

VB.NET Noti

2009-10-14 17:21:47

VB.NET定制Win

2009-10-10 16:44:52

VB.NET開發控件

2009-10-16 13:19:04

VB.NET Data

2009-10-13 15:09:19

VB.NET使用Tre

2009-10-16 14:07:18

VB.NET使用Mon

2009-10-14 11:15:06

VB.NET Grou

2009-10-27 18:06:41

VB.NET開發控件

2010-01-19 10:12:39

VB.NET Butt

2009-10-16 14:31:48

VB.NET Noti

2009-10-14 11:27:20

VB.NET Grou

2009-10-23 13:10:14

VB.NET List

2009-10-12 15:02:51

VB.NET動態控件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产91丝袜在线播放 | 国产精品久久久久久久久久久久久 | 羞羞网站在线免费观看 | 亚洲网站免费看 | 国产视频线观看永久免费 | 国产精品视频一区二区三区四区国 | 欧美a∨ | 中文字幕在线观看一区 | 高清人人天天夜夜曰狠狠狠狠 | 亚洲精品乱码久久久久久按摩观 | 午夜天堂精品久久久久 | 99国产精品99久久久久久 | 天堂在线一区 | 免费在线观看一区二区 | 一区天堂| 日韩欧美在线播放 | 99久久婷婷国产综合精品首页 | 久久久久久久电影 | 超碰男人天堂 | 欧美一级片在线看 | 欧美成人精品 | 亚洲视频一区二区三区 | 欧美中文一区 | 国产精品91视频 | 亚洲国产黄色av | 亚洲国产网址 | 中文字幕在线一区 | 国产一区二区视频免费在线观看 | 成人av一区 | 亚洲成人免费视频在线 | 丁香五月网久久综合 | 国产精品久久久久久久久久 | 久久黄视频 | 精品久久久999 | 国产在线精品一区二区三区 | 精品国产乱码久久久久久闺蜜 | 久视频在线 | 国产激情视频网址 | 日本精品一区二区三区在线观看视频 | 天天操天天射天天 | www.四虎.com |