我正在使用 C# 为 excel 2010 开发插件。我有一个现有的工作表,其中包含一些控件,即 ComboBox。我正在尝试编写一些代码,将某个值放在组合框的文本属性中,但我很难访问控件来执行此操作。
组合框名为“ComboBox1”,但如果我尝试类似...
var combo = Controls["ComboBox1"];
我得到一个 ArgumentOutOfRangeException。
找出我应该做什么的探索性方法也没有真正提供有用的信息。例如,如果要写;
MessageBox.Show(Controls[0].GetType())
显示的消息是“NamedRangeImpl”,它看起来根本不像一个控件。所以我的问题是,如何从我的代码中访问工作表上的控件?
最佳答案
我不太确定这个问题,但我已经为 word 制作了插件,如果它像 windows 窗体一样,这应该可以很好地工作。
foreach (Control c in Controls)
if (c.Name == "comboBox1") {
ComboBox box = (ComboBox)c;
box.Items.Add("Thing added");
}
关于C# excel 插件 - 访问控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7152020/