起動時に「開始日」という項目にカーソルがフォーカスされる仕組みを作成しています。
「開始日」などには下記の通り起動した日の月始めや最終日が表示されています。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load '操作当日の年月だけの表示とします。 Dim 日付 = DateTime.Now '処理する月の初日をセット 日付 = New Date(日付.Year, 日付.Month, 1) '指定年月での最初日 開始日.Text = 日付 '処理する月の末日をセット 日付 = New Date(日付.Year, 日付.Month, 1) '指定年月での最初日 日付 = 日付.AddMonths(1).AddDays(-1) '次月の1日前を計算 終了日.Text = 日付 End Sub
カーソルは「開始日」に来ているのですが、選択状態で起動したいのです。
なお、起動後にカーソルを移動させたときに選択状態になるコードは様々なサイトを探(サイト名は失念しました)し、下記の通り上記のコードの下に記載しています(こちらは狙い通りに選択状態となっています)。
Private m_bFlag As Boolean = False ' Enterイベント Private Sub 開始日_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 開始日.Enter 開始日.SelectAll() If Control.MouseButtons <> Windows.Forms.MouseButtons.None Then m_bFlag = True End If End Sub ' MouseDownイベント Private Sub 開始日_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 開始日.MouseDown If m_bFlag Then 開始日.SelectAll() m_bFlag = False End If End Sub Private m_bFlag2 As Boolean = False Private Sub 終了日_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 終了日.Enter 終了日.SelectAll() If Control.MouseButtons <> Windows.Forms.MouseButtons.None Then m_bFlag2 = True End If End Sub Private Sub 終了日_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 終了日.MouseDown If m_bFlag2 Then 終了日.SelectAll() m_bFlag2 = False End If End Sub Private m_bFlag3 As Boolean = False
どのようなコードを書けばよいでしょうか。よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/03 06:20