【发布时间】:2020-01-27 01:36:40
【问题描述】:
我正在使用 Visual Studio 处理 Excel 文件并使用 C# 进行编程。我在工作表 Seismic2D 中添加了一个列表框控件。我想用工作表 FileList 中的信息填充这个列表框。我正在尝试编程的按钮位于功能区中。
我尝试使用 Sis2D case=new Sis2D();但我得到了一个错误(没有给出与所需的形式参数'factory' of Sis2D.Sis2D(Factory,IServiceProvider)相对应的参数
在功能区文件中...
public partial class Ribbon1
{
private void ListRefresh_Click(object sender, RibbonControlEventArgs e)
{
Excel.Worksheet wsFL = Globals.ThisWorkbook.Worksheets["FileList"];
Sis2D clase = new Sis2D();
clase.ListaFiles.Items.Add(wsFL.Range["A2"]);
clase.ListaFiles.Items.Add(wsFL.Range["A3"]);
}
}
在 Sis2D.cs 文件中
public partial class Sis2D
我尝试的另一件事是在 Sis2D 中添加它
public partial class Sis2D
{
public void LlenaListBox()
{
Excel.Worksheet wsFL = Globals.ThisWorkbook.Worksheets["FileList"];
ListaFiles.Items.Add(wsFL.Range["A2"].Value);
ListaFiles.Items.Add(wsFL.Range["A3"].Value);
}
}
但是我不知道如何从 Ribbon 部分类中调用这个方法。
我希望能够与 ListBox 交互,添加项目并阅读它们。
【问题讨论】:
-
构造函数可能在类的其他部分定义中。
-
partial class真是个坏名字。partial关键字只是表明您的类定义可能分布在多个文件中。但是,一旦编译,您就会得到一个 completeclass。 --- 所以 Dorian,寻找为Sis2D定义构造函数的文件。 -
Visual Studio 为 Sis2D 创建文件(因为链接到工作表)并为功能区创建文件。在功能区中,我有一个要填充 ListBox 的按钮。列表框位于由 Sis2D 管理的工作表内。所以,我想要的是调用位于不同部分类中的方法与位于不同部分类中的类。
-
你想调用不同类的私有方法吗?纳夫说,不是吗?
-
这背后的主要思想是我添加了Listbox。问题是我如何向其中添加项目或更改项目。它与 vba 列表框几乎相同:它取决于添加它的工作表。
标签: c# partial-classes