在这里记录了微软的问题 - 可以下载Repro:https://connect.microsoft.com/VisualStudio/feedback/details/741454/value-change-event-doesnt-fire-for-datetimepicker-controls-used-在-VSTO-插件
如果将DateTimePicker放在Excel VSTO浮动加载项中并在日历下拉时将其定位,则它位于加载项的边缘之外,请参见此处:

选择绿色中圈出的任何日期按预期工作,但点击任何以红色圈出的日期时,它只会关闭日历下拉菜单并且不会设置日期!
有谁知道我怎么解决这个问题?
编辑
这个SO用户使用WPF遇到了这个问题: VSTO WPF ContextMenu.MenuItem在没有引发的TaskPane外部单击

该问题的答案显示该问题已被报道连接一段时间但仍然没有VSTO 4.0 SP1的解决方案:https://connect.microsoft.com/VisualStudio/feedback/details/432998/excel-2007-vsto-custom-任务窗格与- WPF的上下文菜单具有焦点,问题
其中一个解决方法是使用DispatcherFrame来为消息添加消息并为菜单订阅GotFocusEvent和LostFocusEvent.http://blogs.msdn.com/b/vsod/archive/2009/12/16/excel-2007-wpf-events-are-not-fired-for-items-that-overlap-excel-ui-for- wpf-context-menus.aspx但这是菜单的所有WPF代码,而不是Winform DateTimePicker的解决方案.
Repro for Microsoft Connect:
使用TaskPane的新项目> Excel 2010加载项; 使用Microsoft.Office.Core;
namespace ExcelAddIn2 {public partial class ThisAddIn {TaskPaneView MyTaskView = null; Microsoft.Office.Tools.CustomTaskPane MyTaskPane = null;
using TaskPane;
using Microsoft.Office.Core;
namespace ExcelAddIn2
{
public partial class ThisAddIn
{
TaskPaneView MyTaskView = null;
Microsoft.Office.Tools.CustomTaskPane MyTaskPane = null;
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
//setup custom taskpane …Run Code Online (Sandbox Code Playgroud)