信息发布软件,b2b软件,广告发布软件

标题: VB.NET中使用动态属性解析和实例教程 [打印本页]

作者: 信息发布软件    时间: 2017-5-5 15:00
标题: VB.NET中使用动态属性解析和实例教程
  1. <font color="#ff00ff"> Visual Basic .NET支持动态属性,其动态属性储存在一个应用程序配置文件中,该文件在应用程序执行时将会被读到。使用动态属性可以在不重新编译应用程序的情况下改变一些属性值。你可以使用它们保存数据库连接字符串、应用程序日志信息或者服务器连接信息。
  2.   要看动态属性的例子,首先在Visual Basic中创建一个Windows应用程序。添加一个TextBox到默认窗体中;确认TextBox是被选中的,然后在属性窗口中定位Dynamic属性。
  3.   点击Advanced标签旁边的省略号按钮,打开一个对话框,该对话框中列出了TextBox所有的属性,选择Text属性,键映射框将会被激活。键映射决定了键储存在配置文件中的值。点击确定关闭对话框。

  4.   下面的代码是在InitializeComponent方法中产生的(位于Windows Form设计器产生代码区)。这段代码不能直接修改,只能使用属性窗口。

  5. Dim configurationAppSettings As _
  6. System.Configuration.AppSettingsReader = _
  7. New System.Configuration.AppSettingsReader()

  8. Me.TextBox1.Text = CType( _
  9. configurationAppSettings.GetValue("TextBox1.Text", _
  10. GetType(System.String)), String)

  11. 设置储存在一个名为app.cofig的XML格式的文件中。前面的示例代码所产生的XML代码如下:

  12. <?xml version="1.0" encoding="Windows-1252"?>
  13. <configuration>
  14. <appSettings>
  15. <!-- User application and configured property settings go here.-->
  16. <!-- Example: <add key="settingName" value="settingValue"/> -->
  17. <add key="TextBox1.Text" value="TextBox1" />
  18. </appSettings>
  19. </configuration>

  20.   当应用程序被编译时,该文件被重命名为assembly.config,这里assembly是你的编译出的应用程序的名字。如果想改变这些值,根本没有必要重新编译程序,只要简单的编辑配置文件在其中修改成相应的值即可。
  21. </font>
复制代码



作者: 信息发布软件    时间: 2017-5-5 15:01
  1.  VB.NET还是比较常用的,于是我研究了一下VB.NET动态控件,在这里拿出来和大家分享一下,希望对大家有用。
  2. 本文的讨论也将着眼于这两种情况。首先是当程序员需要动态建立一个控件并将代码附着于控件之上时。例如,你或许想创建一个链接列表,但是不知道需要创建链接的数量或是链接中会出现什么样的数据。第二种是当程序员需要定义代码以反映出特殊需求的时候。例如,你或许要执行能反映用户系统配置的代码。
  3. 类似上述的情况当然不会每天都上演。事实上,它们只在非常情况下才出现。然而,作为程序员,仍然要意识到.NET为解决动态情形提供了方案。有了正确的技巧,你就可以写出能灵活处理动态情况的应用程序了。
  4. 使用VB.NET动态控件
  5. 许多程序员总会遇到需要创建VB.NET动态控件的时候。我们所展示的例子中程序员向FlowLayoutPanel中添加了LinkLabels.或许你可以个这样的设置来记录和保存常用的URL,文件,网络地址或是其他资源所在位置的数值。这一示例没有真正保存链接,但是你可以使用XML序列化功能来实现保存。
  6. 每次当用户点击Test按钮时,示例代码就会动态创建一个新的LinkLabel控件。真正的演示代码并不复杂。以下就展示了创建这类控件以及将控件放入FlowLayoutPanel,lstLabel中通常所需要做的一切。
  7. 向FlowLayoutPanel中添加新的链接
  8. 1.           Private Sub btnTest_Click()     
  9. 2.           Handles btnTest.Click     
  10. 3.           ' Create a link.     
  11. 4.           Dim NewLink As LinkLabel = New LinkLabel()     
  12. 5.           ' Add some properties to it.     
  13. 6.           NewLink.Text = DateTime.Now     
  14. 7.           .ToLongTimeString()     
  15. 8.           ' Set the click event handler.     
  16. 9.           AddHandler NewLink.Click,     
  17. 10.       AddressOf NewLink_Click     
  18. 11.       ' Place the button on the form.     
  19. 12.       lstLinks.Controls.Add(NewLink)     
  20. 13.       End Sub
  21. 如你所料,该代码开始的时候创建了一个新的LinkLabel并为其赋予了一些值。这一示例使用的是当前时间。你的代码或许能够对某一真实资源进行访问。
  22. 请注意该代码也向链接的Click事件中指定了一个处理程序。你必须使用示例中的AddHandler技巧,因为普通的Handles关键词路径不起作用。一方面,设计应用程序的时候你并不清楚控件的名称。即便你为控件指定了一个名称,你也不知道用户要创建的控件数量,所以我们没有办法清楚会有多少处理程序会被创建。处理程序的代码与控件代码类似,因此没有必要创建多个处理程序。用于这个示例的处理代码见例二。例二:处理VB.NET动态控件点击事件
  23. 1.           Private Sub NewLink_Click( _ ByVal sender As System.Object, ByVal e As System.EventArgs)  
  24. 2.           ' Verify that you actually have a LinkLabel  
  25. 3.           If Not sender.GetType() Is GetType(LinkLabel) Then  
  26. 4.           MessageBox.Show("Wrong control type provided!")  
  27. 5.           Return  
  28. 6.           End If  
  29. 7.           ' Convert the input sender to a Button.  
  30. 8.           Dim ThisLink As LinkLabel = sender   
  31. 9.           ' Show that we have the correct button.  
  32. 10.       MessageBox.Show("You created this link at: " + ThisLink.Text)  
  33. 11.       End Sub  
  34. 你可能已经注意到例一中的事件处理器使用的是宽松代表——它没有将ByVal发送器作为System.Object,也没有将ByVal e作为System.EventArgs作为参数因为它不需要这二者。然而,当你创建一个事件处理器来创建VB.NET动态控件时,通常你需要将ByVal发送器作为 System.Object参数,这意味着将这两者都包含其中。
  35. 有些程序员在创建事件处理器的时候会出现一个错误,即没有检查传入控件的类型。发送器对象可能包含多选择,而如果未对事件处理器进行事件处理类型的设置,那么你就会面临更多的选择。我们的示例代码一开始就检查了传入控件对象的类型。这样以来发送器就不会像下面所展示的代码一样:
  36. 1.           Private Sub btnTest2_Click() Handles btnTest2.Click   
  37. 2.           ' Create a link.  
  38. 3.           Dim NewButton As Button = New Button()  
  39. 4.           ' Add some properties to it.  
  40. 5.           NewButton.Text = DateTime.Now.ToLongTimeString()  
  41. 6.           ' Set the click event handler.  
  42. 7.           AddHandler NewButton.Click, AddressOf NewLink_Click  
  43. 8.           ' Place the button on the form.  
  44. 9.           lstLinks.Controls.Add(NewButton)  
  45. 10.       End Sub  
  46. 此代码在FlowLayoutPanel中创建了一个按钮,大多数情况下这都能正常运行,除非事件处理器不按照按钮所示的进行操作。如果你打算服务多个控件类型,那么每个控件类型都需要一个独特的处理。你可以使用多事件处理器或者为某些类型提供选择标准。
  47. NewLink_Click()事件处理器照常将传入发送器转换成指定类型,在这个示例中则是LinkLabel.该代码可以访问LinkLabel属性并能用其他方式进行互动。在我们的示例中,只显示了一个能在创建链接的时候告知我们的对话框。
复制代码




作者: mmgg520    时间: 2017-5-5 17:44
热情的,动作也很利索,要求改进的地方什么的,都会第一时间改好。满分了
作者: ctbvip    时间: 2017-5-8 16:26
务好,实好,就是有点问题
作者: jh134724    时间: 2017-5-9 03:09
号和077号技术组合,很耐心的帮我改网站,目前网站比较满意,后期有问题还要麻烦他们继续帮我改,下次有需要还会找这家
作者: meng00123    时间: 2017-5-10 08:55
术员的服务态度非常的好,耐心、细心的解答我的每一个问题,包括教会我一些网站后台的操作方法,有问必答,非常耐心。有这样的员工,相信你们会越做越好,赞!
作者: nble002    时间: 2017-5-10 11:23
,就是客服回复速度太慢,有时候问个信息竟然没人回
作者: niubt    时间: 2017-5-10 11:29
,店家真有样,大爱!
作者: z2340868    时间: 2017-5-10 11:49
,技术好,效率高,还帮忙加班,十分过意不去啊,十分感谢!
作者: loverun    时间: 2017-5-10 12:03
边弄了好几年了,可惜优惠力度一般
作者: jskf10    时间: 2017-5-10 12:13
是比较划算的,自己比较轻松
作者: huangge    时间: 2017-5-10 12:25
不错的教程
作者: shenyeben    时间: 2017-5-10 12:47
和077组合服务非常好
作者: yirenzhuang    时间: 2017-5-10 13:25
的没话说,非常给力,服务态度灰常好,以后一定常来!
作者: 枯干枯干    时间: 2017-5-10 14:02
不错,回答及时,宝贝不错,样式齐全,价格也合适,每个描述都很详细,对于我们这种新手来说非常好,省时省事,又省心.非常感谢客服,有问必答很有耐心。赞一个哈!
作者: q117971371    时间: 2017-5-12 02:43
有水平,客服小妹很有耐心,虽然反复修改了很多次,但是依然十分热情。价钱也不贵。
作者: 小白    时间: 2017-5-12 17:36
我家设计的图纸太漂亮了,以前只是听说,没用过,现在看到了确实不错,我们都很满意。值得推广,真心感谢客服态度超好,非常有默契,不用多说就知道怎样装修,给32个赞
作者: dccmdy    时间: 2017-5-12 20:55
业型店家,网站制作确实非常给力,服务态度也灰常好,好评!
作者: weipinzongmeng    时间: 2017-5-13 16:05
很快东西很齐全喜欢
作者: a5206662    时间: 2017-5-16 13:46
,給個讚!
作者: mm5216299    时间: 2017-5-17 22:05
很好,东西很好用!
作者: cjagl520    时间: 2017-5-19 14:09
超好,非常有默契,不用多说就知道怎样装修,给32个赞
作者: meilifc001    时间: 2017-5-20 16:17
业型店家,网站制作确实非常给力,服务态度也灰常好,好评!
作者: jiandao1    时间: 2017-5-27 21:01
看帖回帖是美德!
作者: xubaojin    时间: 2017-6-2 16:03
售后服务很好,服务响应时间快,问题解决到位。




欢迎光临 信息发布软件,b2b软件,广告发布软件 (http://postbbs.com/) Powered by Discuz! X3.2