【发布时间】:2016-12-05 14:46:57
【问题描述】:
我设置了 DatetimePicker.Visible=False,当我点击文本框时,我希望它显示在文本框内。我的代码适用于 1 个文本框,但不适用于另一个:
Private Sub Show_DTP(Ctl As Control)
Dim x As Integer = 0
Dim y As Integer = 0
Dim Width As Integer = 0
Dim height As Integer = 0
Dim rect As Rectangle
Select Case Ctl.Name
Case "TxtTest"
rect = TxtTest.DisplayRectangle()
x = rect.X + TxtTest.Left
y = rect.Y + TxtTest.Top
Width = rect.Width + 4
height = rect.Height
With My_DTP
.SetBounds(x, y, Width, height)
.Visible = True
.Focus()
End With
Case "Txt2"
rect = Txt2.DisplayRectangle()
x = rect.X + Txt2.Left
y = rect.Y + Txt2.Top
Width = rect.Width + 4
height = rect.Height
With My_DTP
.SetBounds(x, y, Width, height)
.Visible = True
.Focus()
End With
End Select
End Sub
Private Sub Text_Click(sender As Object, e As EventArgs) Handles TxtTest.Click, Txt2.Click
Dim Txt As System.Windows.Forms.TextBox = DirectCast(sender, TextBox)
My_DTP.Visible = False
Show_DTP(Txt)
End Sub
这里有什么问题?
【问题讨论】:
-
你想要完成什么?
-
case 语句后没有“Exit Select”(c# 的情况下中断)
-
@Plutonix,我想在一些文本框中显示相同的 DTP。我将使用这个 DTP 将它的值输入到文本框中。
-
@KarthikGanesan,退出选择没有任何作用。这很奇怪,但如果我删除 1 个文本框并添加新的,我的代码实际上可以工作。这就像一个错误。
-
@KarthikGanesan :
Exit Select在那里不需要。 VB.NET 的Case语句不会失败。见Why should I use exit select?
标签: vb.net