写Form设计器尝试(五) 让设计器使用自定义控件

在“写 Form 设计器尝试 ( ) 在窗体上添加控件”的评论中,热心关注者 Leejee 提出了自定义控件的问题。我于是作了一个小测试,来实现设计器中使用自定义控件。

先要准备一个自定义控件。新建一个Windows控件方案,命名为MyControl, 添加一个名为ComboBoxField的用户控件,在该用户控件上放一个Label和一个ComboBox, 生成解决方案。将生成的dll文件复制到测试目录D:/Dotnet

打开设计器方案,在工程中添加对MyControl.Dll的引用,在主窗体的代码中添加Using MyControl; 然后在有形如toolBoxService.ToolBox.Items.Add(.);的最后加上一行代码:

toolBoxService.ToolBox.Items.Add( new  ToolboxItem( typeof (MyControl.ComboBoxField)));

运行方案,确实可以象使用其它标准控件一样使用这个自定义控件。嘿嘿,没有一点意外,还是和以前的试验一样简单。
但是仔细想一想,出问题了,我们需要在工程中添加对控件所在文件的引用,需要在代码中写控件的类名。也就是说我们在写设计器时,就要知道我们要使用哪些自定义控件。而我们在VS中添加自定义控件时,VS事先并不知道我们要加的是什么。要实现这个功能怎么办?理所当然地要用“反射”。

在工程中删除我们刚才添加的引用,并在主窗体代码中删除我们刚写的那两条语句。
在前面写第二条语句的地方写上:

Assembly a1 = Assembly.LoadFrom( @" D:/Dotnet/MyControl.dll " );
toolBoxService.ToolBox.Items.Add(
new  ToolboxItem(a1.GetType( " MyControl.ComboBoxField " )));

运行方案,效果和前面的一样。好像这里也将动态库文件名以及类型名称硬编码到了代码中,但是可以很简单地做到让这两个字符串从配置文件中读出,这样就可以实现在设计器使用时随意使用自定义控件了


后记: 这篇是昨晚写的, 我后来在睡觉时觉得还有点不对, 就是我这个方法是在载入工具箱前就要使用反射, 我猜测VS的做法是在需要使用此控件时才使用反射。这个问题的解决方法是修改ToolboxService。我会在以后的一个较为完善的版本中实现这个功能。2005/11/07

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在VB.NET,我们可以通过编自定义控件来实现下载功能。首先,我们需要创建一个新的类来扩展现有的控件,例如Button或者Label,并添加下载所需的方法和属性。 在这个自定义控件,我们可以添加一个属性来保存下载的URL地址,这样在使用控件时就可以通过设置这个属性来指定下载的文件。我们还可以添加一个方法来执行下载操作,例如使用WebClient类来下载文件到本地。 在下载方法,我们可以为WebClient类的DownloadFileCompleted事件添加事件处理程序,以便在下载完成时执行特定的操作,例如显示下载完成的提示信息。 为了提供进度跟踪的功能,我们可以使用WebClient类的DownloadProgressChanged事件来更新下载进度条。我们可以在该事件处理程序设置进度条控件的值,该值可以通过Divide方法计算得到。 此外,我们还可以添加一些其他的功能,例如下载暂停、恢复、取消等。我们可以添加相应的按钮或者控制来实现这些功能,并通过事件处理程序来处理相应的操作。 总之,通过自定义控件,我们可以根据具体的需求设计和实现一个下载控件,并在VB.NET的项目使用它来实现下载功能。这个控件可以具有下载进度跟踪、下载完成提示、暂停、恢复、取消等功能,提供了更好的用户体验和灵活性。 ### 回答2: 要在VB.NET自定义控件下载,您可以按照以下步骤进行操作: 1. 创建一个新的VB.NET项目,命名为CustomControlDownload。 2. 在项目添加一个类文件,并命名为CustomDownloader.vb。这个类将用于实现自定义控件的下载功能。 3. 在CustomDownloader类,您可以定义一些属性和方法,用于设置下载链接、目标文件路径、下载进度等。您可以参考.NET提供的WebClient类来实现文件下载功能。 4. 在CustomDownloader类,可以通过继承Control类来创建一个自定义控件。您可以在控件添加一些属性和事件,用于显示下载进度、处理下载完成事件等。 5. 在Form1.vb文件,将自定义控件添加到窗体。您可以通过设计或手动编代码的方式添加控件。 6. 通过控件的属性和事件处理程序,设置下载链接、目标文件路径等,并订阅下载完成事件。 7. 运行项目,您将看到窗体显示了您自定义的下载控件。可以输入下载链接,点击下载按钮来开始下载指定文件。 8. 在下载完成事件处理程序,您可以对下载的文件进行处理,例如保存到指定文件夹,或者显示下载结果信息。 通过以上步骤,您就可以在VB.NET自定义控件下载功能了。根据您的具体需求,您还可以进一步扩展和优化自定义的下载控件,使其更加强大和易于使用。 ### 回答3: 在VB.NET,我们可以通过创建自定义控件来满足特定的需求。以下是一个关于如何下载自定义控件的简单步骤: 首先,我们需要找到所需的自定义控件。可以通过搜索互联网、浏览开发者社区或与其他开发者沟通来寻找适合自己的控件。确保找到的控件与我们的项目需求相符。 一旦找到了合适的控件,我们需要将其下载到本地计算机上。这可以通过在控件的官方网站或其他资源站点上点击下载按钮来完成。在下载之前,确保选择与我们的VB.NET版本兼容的控件。同时,确保控件的授权适合我们的项目需求。 下载完成后,我们需要将控件添加到我们的项目。打开VB.NET项目,右键单击“工具箱”窗口的某个选项卡,选择“选择项”菜单。在弹出的对话框,点击“浏览”按钮,并找到下载到本地计算机的控件文件。选择文件后,点击“确定”按钮。 控件将被添加到工具,并可以在项目使用。现在,我们可以将控件拖放到窗体上,并使用其提供的功能和属性来满足我们的需求。 如果在使用自定义控件的过程遇到问题,可以参考控件的文档、示例代码或开发者社区的讨论来解决问题。此外,我们还可以与其他开发者交流,寻求他们的帮助和建议。 总结起来,下载VB.NET自定义控件的步骤包括:搜索并找到合适的控件,将其下载到本地计算机,将控件添加到VB.NET项目的工具,并在项目使用它来满足特定需求。需要注意选择与VB.NET版本兼容并符合项目需求的控件,并在使用过程参考文档和寻求其他开发者的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值