यहाँ माइक्रोसॉफ्ट के साथ इस मुद्दे को लॉग इन - रेप्रो डाउनलोड के लिए उपलब्ध है: https://connect.microsoft.com/VisualStudio/feedback/details/741454/value-change-event-doesnt-fire-for-datetimepicker-controls-used-in-vsto-add-insबग: नहीं कर सकते कि बाहर गिर एक DatePicker पर तिथियां चुनते हैं एक अस्थायी VSTO ऐड-में
आप एक एक्सेल VSTO में एक DateTimePicker डालें, तो अस्थायी जोड़े -इन और स्थिति यह इसलिए जब कैलेंडर नीचे चला जाता है, यह ऐड-इन के किनारे के बाहर है, यहाँ देखें:
दिनांक से किसी का चयन हरी कार्यों में परिक्रमा की अपेक्षा के अनुरूप है, लेकिन जब लाल रंग में घूमने वाली किसी भी तारीख पर क्लिक करके, यह कैलेंडर ड्रॉप डाउन बंद कर देता है और तिथि निर्धारित नहीं करता है!
क्या कोई जानता है कि मैं इसे कैसे ठीक कर सकता हूं?
संपादित
यह इतना उपयोगकर्ता WPF का उपयोग कर समस्या का अनुभव किया: VSTO WPF ContextMenu.MenuItem Click outside a TaskPane not raised
उस प्रश्न का उत्तर चलता मुद्दा एक समय पहले, लेकिन अभी भी कनेक्ट करने के लिए सूचित किया गया था कोई वीएसटीओ 4.0 एसपी 1 के साथ समाधान: https://connect.microsoft.com/VisualStudio/feedback/details/432998/excel-2007-vsto-custom-task-pane-with-wpf-context-menu-has-focus-problems
कामकाज में से एक का उपयोग करना है संदेशों को पंप करने के लिए डिस्पैचर फ्रेम और मेनू के लिए 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 का समाधान नहीं है।
माइक्रोसॉफ्ट के लिए रेप्रो कनेक्ट:
नया प्रोजेक्ट> Excel 2010 ऐड-में
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
//setup custom taskpane
MyTaskView = new TaskPaneView();
MyTaskView.currentInstance = Globals.ThisAddIn.Application;
MyTaskPane = this.CustomTaskPanes.Add(MyTaskView, "MyTaskView");
MyTaskPane.DockPosition = Microsoft.Office.Core.MsoCTPDockPosition.msoCTPDockPositionFloating;
MyTaskPane.DockPositionRestrict = MsoCTPDockPositionRestrict.msoCTPDockPositionRestrictNoChange;
MyTaskPane.Visible = true;
}
फ़ाइल मेनू> में जोड़ें> नया प्रोजेक्ट> कक्षा लाइब्रेरी> TaskPane
नामित फिर टास्कपेन प्रोजेक्ट एक उपयोगकर्ता नियंत्रण बनाते हैं जिसे टास्कपेन व्यू
public partial class TaskPaneView : UserControl
{
public TaskPaneView()
{
InitializeComponent();
}
public Microsoft.Office.Interop.Excel.Application currentInstance { get; set; }
public TaskPaneCtrl getTaskPaneCtrl
{
get { return this.taskPaneCtrl1; }
}
}
अगला एक DateTimePicker के साथ एक उपयोगकर्ता नियंत्रण बनाने के लिए, सुनिश्चित करें कि कैलेंडर नियंत्रण उपयोगकर्ता नियंत्रण
public partial class TaskPaneCtrl : UserControl
{
public TaskPaneCtrl()
{
InitializeComponent();
}
}
F5 के नीचे दाईं ओर स्थित है बनाने के लिए और क्लिक करें कैलेंडर नियंत्रण, अब एक तारीख से बाहर है कि चयन का प्रयास टास्कपेन क्षेत्र कोई मूल्य परिवर्तन घटना आग नहीं है, यह कैलेंडर के बाहर एक क्लिक की तरह व्यवहार करता है!
नोट: मैंने एक ड्रॉप डाउनलिस्ट की कोशिश की जो नियंत्रण से गिरती है लेकिन इसकी घटनाएं आग लगती हैं!
+1 शानदार! एसओएक्स (विजुअल केबी?) की तरह पढ़ता है, अगर यह सोमवार को कोशिश करते समय काम करता है, तो कोई भी शब्द मेरे आभार व्यक्त नहीं कर सकता है। भयानक exceeeded –
स्तर। अच्छा एक हंस –