如何实例化一个UserControl使用VB?
所以在C#中声明和实例化一个UserControl,你可以这样做:
UserControl1 userCont = new UserControl1(); userCont.Show();
这将显示您的用户控件名为UserControl1。
这是你在C#中做的方式,现在你怎么在VB中做到这一点?
因为我编写了一个Excel Add In,并且在function区中放置了一个userControl,但是它不想显示,而且该项目在VB中,而不是在C#中。
编辑:
我的项目的一些解释:
我有一个Excel 2013和2016 VSTO加载项目types。 我有3个类,即: UserControl1.vb – 作为我的userControl Ribbon.vb – 作为我的function区类ThisAddIn.vb – 作为类中的添加
我的userControl相当简单,它有3个button,一个“是”button,一个“否”button和一个“添加表”button。 它有1个列表框和12个checkbox…
function区也很简单,我有2个button在function区中称为“显示”和“循环”…
ThisAddIn类包含将使这个添加工作,如方法和一般function的代码…
好吧,这是我的课程…
我的项目的目标是:
当单击“显示”button时,CustomTaskPane将出现在右侧的Excel中,在此customTaskPane中将是我的userControl … (这工作) 非常感谢DrDonut的回答
当单击“添加表”button(在userControl中)时,我希望excel迭代所有表单,并将每个listObject的名称(表名)添加到列表框中。 (循环和添加表button是相同的)
在C#中,我知道你去:
this.ListBox1.Items.Add("Item 1");
这将添加一个项目的列表框,同样的原则应用在VB中,但与我的ListBox坐在我的userControl本身固定在CustomTaskPane中,似乎没有任何项目可以添加… (添加项目列表框不起作用)
而关于表循环,或检索他们的名字,这也不工作…
(这就是我真正想要好好去的地方)
希望这个编辑能够澄清一些情况。
一些坚韧的信息:
操作系统:Windows 10 Pro(x64)
内存:32GB
CPU:i7-6700 @ 3.40ghz
Microsoft Visual Studio社区2015年
Microsoft Excel 2016(x64)
在vb.net中,对于任务平台(办公应用程序右侧的面板)来说,它是非常相似的:
Dim userControl as UserControl Dim userTaskPane as Microsoft.office.tools.CustomTaskPane userControl = new UserControl userTaskPane = Me.CustomTaskPanes.Add(userControl, "Title") userTaskPane.visible = true
现在应该显示面板。
编辑:来源: https : //msdn.microsoft.com/en-us/library/aa942846.aspx
编辑2:您还需要设置正确的引用。 假设您使用Visual Studio,请转到解决scheme资源pipe理器 – >您的项目 – >参考。 在我的项目中包含以下内容:
- 的Microsoft.Office.Interop.Excel
- Microsoft.Office.Tools
- Microsoft.Office.Tools.Common
- Microsoft.Office.tools.Common.v4.0.Utilities
- Microsoft.Office.Tools.Excel
- Microsoft.Office.Tools.v4.0.Framework
- Microsoft.VisualStudio.Tools.Applications.Runtime
- 办公室
我不知道你是否需要所有这些,但肯定会需要其中的一些。