【问题标题】:VB.Net Show or display DateTimePicker When MetroTextBox is Clicked单击 MetroTextBox 时 VB.Net 显示或显示 DateTimePicker
【发布时间】:2018-04-24 00:41:08
【问题描述】:

是否可以在单击 TextBox(MetroTextBox) 时显示日期时间选择器?那么我想做的是,当我单击文本框时,它将在文本框上方或文本框下方显示一个日期时间选择器,然后如果我选择某个日期,它将在文本框中显示日期。

我有这个作为基础,但我不能让它工作。

Show DateTimePicker in Textbox

【问题讨论】:

    标签: vb.net datetimepicker


    【解决方案1】:

    我通过使用 MonthCalendar 而不是 DTP 达到了我想要的结果。

    这是供其他人将来参考的代码,以防他们想要相同的输出。谢谢,和平!...

    Private Sub NotificationV2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        MonthCalendar1.BringToFront()
        MonthCalendar1.Location = New Point(265, 160)
        MonthCalendar1.Visible = False
    End Sub
    
    Private Sub MetroTextBox8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MetroTextBox8.Click
        MonthCalendar1.Visible = Not MonthCalendar1.Visible
    End Sub
    
    Private Sub MonthCalendar1_DateSelected(ByVal sender As Object, ByVal e As System.Windows.Forms.DateRangeEventArgs) Handles MonthCalendar1.DateSelected
        MonthCalendar1.Visible = False
        MetroTextBox8.Text = e.Start.ToShortDateString
    End Sub
    

    【讨论】:

    • 我建议不要在 textbox.click 事件上显示日历,而是创建一个上下文菜单并使用 Visual Studio 属性窗口中的 ContextMenuStrip 属性将其链接到文本框。如果用户想使用鼠标左键重新定位光标(这是一种更直观的用法),他们将使用我们的代码所做的就是打开日历。也许令人沮丧。抱歉,此建议适用于 Winforms 应用程序。如果您不使用winforms,它可能会大不相同。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多