【问题标题】:Creating a Pop-Up Calendar in a VSTO Excel Project在 VSTO Excel 项目中创建弹出日历
【发布时间】:2009-04-23 16:35:02
【问题描述】:

我正在尝试在 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

日历应该会在他们点击的地方弹出,但是很遗憾,它失败了。

【问题讨论】:

    标签: .net vb.net winforms excel vsto


    【解决方案1】:

    我很确定您需要一个表单来托管 winforms 控件。 如果您的目标是“仅”显示日历控件,那么父窗口会是什么?

    如果您想要一个足够简单的日历控件的“外观”,只需调整表单的 UI 属性,使其没有可见边框、模式等,如果您在 WPF 中重写,那么您的表单不会'甚至不必看起来像一个形式(即正方形等)

    【讨论】:

      【解决方案2】:

      我最终创建了一个新的 System.Windows.Form 并将我的日历添加到它的 Controls 集合中。

      不理想,所以我仍在寻找解决方案,但它至少为我提供了一个弹出式日历。

      【讨论】:

      • 我认为他的意思是他最终只是单击了一个按钮来执行 Form.Show 并在其上放置日历,而不是直接从功能区中,我相信这是可能的。
      猜你喜欢
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      • 2010-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多