C# 将.net控件附加到没有VSTO(但Excel DNA)的工作表

C# 将.net控件附加到没有VSTO(但Excel DNA)的工作表,c#,excel,office-interop,excel-dna,C#,Excel,Office Interop,Excel Dna,我正在尝试做一些我不确定是否可能的事情。 我想使用一个提供漂亮winform图表控件的.net第三方库来替换Excel工作表中一些(非常复杂和难看的)VBA生成的图表 我使用的是Excel DNA(顺便说一句,这很好),我用它做了各种各样的事情,比如以同步和异步方式显示Winform表单(感谢) 到目前为止,当我激活一个特定的工作表时,我设法使带有图表的非模态表单出现,通过设置它的父级和最顶层属性,它有点像预期的行为。但是放置它真的很痛苦(不同的屏幕大小),我想知道是否有一种方法可以正确地做到这

我正在尝试做一些我不确定是否可能的事情。 我想使用一个提供漂亮winform图表控件的.net第三方库来替换Excel工作表中一些(非常复杂和难看的)VBA生成的图表

我使用的是Excel DNA(顺便说一句,这很好),我用它做了各种各样的事情,比如以同步和异步方式显示Winform表单(感谢)

到目前为止,当我激活一个特定的工作表时,我设法使带有图表的非模态表单出现,通过设置它的父级和最顶层属性,它有点像预期的行为。但是放置它真的很痛苦(不同的屏幕大小),我想知道是否有一种方法可以正确地做到这一点

所以这里有一个问题:我是否可以以某种方式将.Net表单或自定义控件附加到工作表,甚至可以将其相对于特定单元格进行定位?它必须是非模态的,并且仅当我们在特定的工作表上时才会显示

我知道使用VSTO可以将控件添加到工作表中,但我不想使用VSTO。我也知道,我可能会创建自己的ActiveX控件并注册它,然后将其放入Excel,就像我使用另一个按钮控件一样,但根据我对它的了解,这似乎很危险


感谢您的所有想法或建议

考虑创建一个固定在Excel工作簿(工作表)右侧的自定义任务窗格(CTP)


有关如何在Excel DNA中执行此操作的详细信息,请参见。

考虑创建一个固定在Excel工作簿(工作表)右侧的自定义任务窗格(CTP)


有关如何在ExcelDNA中执行此操作的更多信息,请参阅。

我必须添加其他内容:我需要一种正确的方式,因为以表单显示图表似乎不正确,但如果解决方案必须使用表单,我愿意接受。另外,我不能使用自定义任务窗格,重新计算也不是问题。谁是最终用户?只有你?远程同事?客户?如果用户群较小,您可以尝试制作一个订阅Excel事件(如Application.SheetActivated)的外接程序,然后显示表单/控件。我还需要添加其他内容:我需要一种适当的方式,因为在表单中显示图表似乎不合适,但如果解决方案必须使用表单,我愿意接受它。另外,我不能使用自定义任务窗格,重新计算也不是问题。谁是最终用户?只有你?远程同事?客户?如果用户群很小,您可以尝试创建一个订阅Excel事件(如Application.SheetActivated)的加载项,然后显示表单/控件。