我正在尝试在VSTO Excel工作簿中使用System.Windows.Forms.MonthCalendar控件。我想在单击功能区中的按钮时弹出MonthCalendar,但到目前为止我无法显示控件。
Private Sub DeliveryDateFromCalendarButton_Click(ByVal sender As System.Object, ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) Handles DeliveryDateFromCalendarButton.Click
Dim selectedFiscalYear As String = Me.FiscalYearDropDown.SelectedItem.Label
Dim cal As System.Windows.Forms.MonthCalendar = New System.Windows.Forms.MonthCalendar()
cal.Location = New System.Drawing.Point(Cursor.Position.X, Cursor.Position.Y)
cal.Show()
End Sub
日历应该在他们点击的地方弹出,但唉,它失败了。
答案 0 :(得分:2)
我很确定你需要一个表单来托管winforms控件。 如果您的目标是“只是”日历控件单独出现,那么父窗口会是什么?
如果你想要一个简单的日历控件的“外观”,只需调整表单的UI属性,使其没有可见的边框,模态等,如果你在WPF中重写,那么你的表单没有甚至不得不看起来像一个形式(即方形等)
答案 1 :(得分:1)
我最终创建了一个新的System.Windows.Form并将我的日历添加到其Controls集合中。
不理想,所以我仍在寻找解决方案,但它至少让我得到一个弹出式日历。